diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-04-09 14:52:48 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-04-09 14:52:48 -0400 |
commit | f16393776fc133d95fe3b3ba7118df579ed90af5 (patch) | |
tree | e68d277816962511fa873e658e463948def02c3d | |
parent | 2f4084209adc77f9a1c9f38db3019a509e167882 (diff) | |
parent | 8e7fcccee990acd8135db447ad01cb3b22bce620 (diff) |
Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
[S390] Update default configuration.
[S390] nss: add missing .previous statement to asm function
[S390] increase default size of vmalloc area
[S390] s390: disable change bit override
[S390] fix io_return critical section cleanup
[S390] sclp_async: potential buffer overflow
[S390] arch/s390/kernel: Add missing unlock
-rw-r--r-- | arch/s390/defconfig | 40 | ||||
-rw-r--r-- | arch/s390/include/asm/pgtable.h | 6 | ||||
-rw-r--r-- | arch/s390/kernel/early.c | 3 | ||||
-rw-r--r-- | arch/s390/kernel/entry.S | 8 | ||||
-rw-r--r-- | arch/s390/kernel/entry64.S | 8 | ||||
-rw-r--r-- | arch/s390/kernel/topology.c | 3 | ||||
-rw-r--r-- | arch/s390/mm/vmem.c | 11 | ||||
-rw-r--r-- | drivers/s390/char/sclp_async.c | 2 |
8 files changed, 55 insertions, 26 deletions
diff --git a/arch/s390/defconfig b/arch/s390/defconfig index 7ae71cc56973..bcd6884985ad 100644 --- a/arch/s390/defconfig +++ b/arch/s390/defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.33-rc2 | 3 | # Linux kernel version: 2.6.34-rc3 |
4 | # Mon Jan 4 09:03:07 2010 | 4 | # Fri Apr 9 09:57:10 2010 |
5 | # | 5 | # |
6 | CONFIG_SCHED_MC=y | 6 | CONFIG_SCHED_MC=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -17,6 +17,7 @@ CONFIG_GENERIC_TIME=y | |||
17 | CONFIG_GENERIC_TIME_VSYSCALL=y | 17 | CONFIG_GENERIC_TIME_VSYSCALL=y |
18 | CONFIG_GENERIC_CLOCKEVENTS=y | 18 | CONFIG_GENERIC_CLOCKEVENTS=y |
19 | CONFIG_GENERIC_BUG=y | 19 | CONFIG_GENERIC_BUG=y |
20 | CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y | ||
20 | CONFIG_NO_IOMEM=y | 21 | CONFIG_NO_IOMEM=y |
21 | CONFIG_NO_DMA=y | 22 | CONFIG_NO_DMA=y |
22 | CONFIG_GENERIC_LOCKBREAK=y | 23 | CONFIG_GENERIC_LOCKBREAK=y |
@@ -62,15 +63,11 @@ CONFIG_TREE_RCU=y | |||
62 | # CONFIG_RCU_TRACE is not set | 63 | # CONFIG_RCU_TRACE is not set |
63 | CONFIG_RCU_FANOUT=64 | 64 | CONFIG_RCU_FANOUT=64 |
64 | # CONFIG_RCU_FANOUT_EXACT is not set | 65 | # CONFIG_RCU_FANOUT_EXACT is not set |
66 | # CONFIG_RCU_FAST_NO_HZ is not set | ||
65 | # CONFIG_TREE_RCU_TRACE is not set | 67 | # CONFIG_TREE_RCU_TRACE is not set |
66 | CONFIG_IKCONFIG=y | 68 | CONFIG_IKCONFIG=y |
67 | CONFIG_IKCONFIG_PROC=y | 69 | CONFIG_IKCONFIG_PROC=y |
68 | CONFIG_LOG_BUF_SHIFT=17 | 70 | CONFIG_LOG_BUF_SHIFT=17 |
69 | CONFIG_GROUP_SCHED=y | ||
70 | CONFIG_FAIR_GROUP_SCHED=y | ||
71 | # CONFIG_RT_GROUP_SCHED is not set | ||
72 | CONFIG_USER_SCHED=y | ||
73 | # CONFIG_CGROUP_SCHED is not set | ||
74 | CONFIG_CGROUPS=y | 71 | CONFIG_CGROUPS=y |
75 | # CONFIG_CGROUP_DEBUG is not set | 72 | # CONFIG_CGROUP_DEBUG is not set |
76 | CONFIG_CGROUP_NS=y | 73 | CONFIG_CGROUP_NS=y |
@@ -79,6 +76,7 @@ CONFIG_CGROUP_NS=y | |||
79 | # CONFIG_CPUSETS is not set | 76 | # CONFIG_CPUSETS is not set |
80 | # CONFIG_CGROUP_CPUACCT is not set | 77 | # CONFIG_CGROUP_CPUACCT is not set |
81 | # CONFIG_RESOURCE_COUNTERS is not set | 78 | # CONFIG_RESOURCE_COUNTERS is not set |
79 | # CONFIG_CGROUP_SCHED is not set | ||
82 | CONFIG_SYSFS_DEPRECATED=y | 80 | CONFIG_SYSFS_DEPRECATED=y |
83 | CONFIG_SYSFS_DEPRECATED_V2=y | 81 | CONFIG_SYSFS_DEPRECATED_V2=y |
84 | # CONFIG_RELAY is not set | 82 | # CONFIG_RELAY is not set |
@@ -93,6 +91,7 @@ CONFIG_INITRAMFS_SOURCE="" | |||
93 | CONFIG_RD_GZIP=y | 91 | CONFIG_RD_GZIP=y |
94 | CONFIG_RD_BZIP2=y | 92 | CONFIG_RD_BZIP2=y |
95 | CONFIG_RD_LZMA=y | 93 | CONFIG_RD_LZMA=y |
94 | CONFIG_RD_LZO=y | ||
96 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 95 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
97 | CONFIG_SYSCTL=y | 96 | CONFIG_SYSCTL=y |
98 | CONFIG_ANON_INODES=y | 97 | CONFIG_ANON_INODES=y |
@@ -126,6 +125,7 @@ CONFIG_SLAB=y | |||
126 | # CONFIG_SLUB is not set | 125 | # CONFIG_SLUB is not set |
127 | # CONFIG_SLOB is not set | 126 | # CONFIG_SLOB is not set |
128 | # CONFIG_PROFILING is not set | 127 | # CONFIG_PROFILING is not set |
128 | CONFIG_TRACEPOINTS=y | ||
129 | CONFIG_HAVE_OPROFILE=y | 129 | CONFIG_HAVE_OPROFILE=y |
130 | CONFIG_KPROBES=y | 130 | CONFIG_KPROBES=y |
131 | CONFIG_HAVE_SYSCALL_WRAPPERS=y | 131 | CONFIG_HAVE_SYSCALL_WRAPPERS=y |
@@ -134,6 +134,7 @@ CONFIG_HAVE_KPROBES=y | |||
134 | CONFIG_HAVE_KRETPROBES=y | 134 | CONFIG_HAVE_KRETPROBES=y |
135 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 135 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
136 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 136 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
137 | CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y | ||
137 | CONFIG_HAVE_DEFAULT_NO_SPIN_MUTEXES=y | 138 | CONFIG_HAVE_DEFAULT_NO_SPIN_MUTEXES=y |
138 | 139 | ||
139 | # | 140 | # |
@@ -246,6 +247,7 @@ CONFIG_64BIT=y | |||
246 | CONFIG_SMP=y | 247 | CONFIG_SMP=y |
247 | CONFIG_NR_CPUS=32 | 248 | CONFIG_NR_CPUS=32 |
248 | CONFIG_HOTPLUG_CPU=y | 249 | CONFIG_HOTPLUG_CPU=y |
250 | # CONFIG_SCHED_BOOK is not set | ||
249 | CONFIG_COMPAT=y | 251 | CONFIG_COMPAT=y |
250 | CONFIG_SYSVIPC_COMPAT=y | 252 | CONFIG_SYSVIPC_COMPAT=y |
251 | CONFIG_AUDIT_ARCH=y | 253 | CONFIG_AUDIT_ARCH=y |
@@ -345,13 +347,13 @@ CONFIG_PM_SLEEP=y | |||
345 | CONFIG_HIBERNATION=y | 347 | CONFIG_HIBERNATION=y |
346 | CONFIG_PM_STD_PARTITION="" | 348 | CONFIG_PM_STD_PARTITION="" |
347 | # CONFIG_PM_RUNTIME is not set | 349 | # CONFIG_PM_RUNTIME is not set |
350 | CONFIG_PM_OPS=y | ||
348 | CONFIG_NET=y | 351 | CONFIG_NET=y |
349 | 352 | ||
350 | # | 353 | # |
351 | # Networking options | 354 | # Networking options |
352 | # | 355 | # |
353 | CONFIG_PACKET=y | 356 | CONFIG_PACKET=y |
354 | # CONFIG_PACKET_MMAP is not set | ||
355 | CONFIG_UNIX=y | 357 | CONFIG_UNIX=y |
356 | CONFIG_XFRM=y | 358 | CONFIG_XFRM=y |
357 | # CONFIG_XFRM_USER is not set | 359 | # CONFIG_XFRM_USER is not set |
@@ -529,6 +531,7 @@ CONFIG_NET_SCH_FIFO=y | |||
529 | # | 531 | # |
530 | # CONFIG_NET_PKTGEN is not set | 532 | # CONFIG_NET_PKTGEN is not set |
531 | # CONFIG_NET_TCPPROBE is not set | 533 | # CONFIG_NET_TCPPROBE is not set |
534 | # CONFIG_NET_DROP_MONITOR is not set | ||
532 | CONFIG_CAN=m | 535 | CONFIG_CAN=m |
533 | CONFIG_CAN_RAW=m | 536 | CONFIG_CAN_RAW=m |
534 | CONFIG_CAN_BCM=m | 537 | CONFIG_CAN_BCM=m |
@@ -605,6 +608,7 @@ CONFIG_MISC_DEVICES=y | |||
605 | # | 608 | # |
606 | # SCSI device support | 609 | # SCSI device support |
607 | # | 610 | # |
611 | CONFIG_SCSI_MOD=y | ||
608 | # CONFIG_RAID_ATTRS is not set | 612 | # CONFIG_RAID_ATTRS is not set |
609 | CONFIG_SCSI=y | 613 | CONFIG_SCSI=y |
610 | # CONFIG_SCSI_DMA is not set | 614 | # CONFIG_SCSI_DMA is not set |
@@ -863,6 +867,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
863 | # CONFIG_BEFS_FS is not set | 867 | # CONFIG_BEFS_FS is not set |
864 | # CONFIG_BFS_FS is not set | 868 | # CONFIG_BFS_FS is not set |
865 | # CONFIG_EFS_FS is not set | 869 | # CONFIG_EFS_FS is not set |
870 | # CONFIG_LOGFS is not set | ||
866 | # CONFIG_CRAMFS is not set | 871 | # CONFIG_CRAMFS is not set |
867 | # CONFIG_SQUASHFS is not set | 872 | # CONFIG_SQUASHFS is not set |
868 | # CONFIG_VXFS_FS is not set | 873 | # CONFIG_VXFS_FS is not set |
@@ -891,6 +896,7 @@ CONFIG_SUNRPC=y | |||
891 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 896 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
892 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 897 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
893 | # CONFIG_SMB_FS is not set | 898 | # CONFIG_SMB_FS is not set |
899 | # CONFIG_CEPH_FS is not set | ||
894 | # CONFIG_CIFS is not set | 900 | # CONFIG_CIFS is not set |
895 | # CONFIG_NCP_FS is not set | 901 | # CONFIG_NCP_FS is not set |
896 | # CONFIG_CODA_FS is not set | 902 | # CONFIG_CODA_FS is not set |
@@ -952,6 +958,7 @@ CONFIG_DEBUG_MUTEXES=y | |||
952 | # CONFIG_LOCK_STAT is not set | 958 | # CONFIG_LOCK_STAT is not set |
953 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | 959 | CONFIG_DEBUG_SPINLOCK_SLEEP=y |
954 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 960 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
961 | CONFIG_STACKTRACE=y | ||
955 | # CONFIG_DEBUG_KOBJECT is not set | 962 | # CONFIG_DEBUG_KOBJECT is not set |
956 | CONFIG_DEBUG_BUGVERBOSE=y | 963 | CONFIG_DEBUG_BUGVERBOSE=y |
957 | # CONFIG_DEBUG_INFO is not set | 964 | # CONFIG_DEBUG_INFO is not set |
@@ -973,12 +980,17 @@ CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y | |||
973 | # CONFIG_LATENCYTOP is not set | 980 | # CONFIG_LATENCYTOP is not set |
974 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 981 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
975 | # CONFIG_DEBUG_PAGEALLOC is not set | 982 | # CONFIG_DEBUG_PAGEALLOC is not set |
983 | CONFIG_NOP_TRACER=y | ||
976 | CONFIG_HAVE_FUNCTION_TRACER=y | 984 | CONFIG_HAVE_FUNCTION_TRACER=y |
977 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 985 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
978 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 986 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
979 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 987 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
980 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 988 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
981 | CONFIG_HAVE_SYSCALL_TRACEPOINTS=y | 989 | CONFIG_HAVE_SYSCALL_TRACEPOINTS=y |
990 | CONFIG_RING_BUFFER=y | ||
991 | CONFIG_EVENT_TRACING=y | ||
992 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
993 | CONFIG_TRACING=y | ||
982 | CONFIG_TRACING_SUPPORT=y | 994 | CONFIG_TRACING_SUPPORT=y |
983 | CONFIG_FTRACE=y | 995 | CONFIG_FTRACE=y |
984 | # CONFIG_FUNCTION_TRACER is not set | 996 | # CONFIG_FUNCTION_TRACER is not set |
@@ -995,10 +1007,15 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
995 | # CONFIG_KMEMTRACE is not set | 1007 | # CONFIG_KMEMTRACE is not set |
996 | # CONFIG_WORKQUEUE_TRACER is not set | 1008 | # CONFIG_WORKQUEUE_TRACER is not set |
997 | # CONFIG_BLK_DEV_IO_TRACE is not set | 1009 | # CONFIG_BLK_DEV_IO_TRACE is not set |
1010 | CONFIG_KPROBE_EVENT=y | ||
1011 | # CONFIG_RING_BUFFER_BENCHMARK is not set | ||
998 | # CONFIG_DYNAMIC_DEBUG is not set | 1012 | # CONFIG_DYNAMIC_DEBUG is not set |
999 | CONFIG_SAMPLES=y | 1013 | CONFIG_SAMPLES=y |
1014 | # CONFIG_SAMPLE_TRACEPOINTS is not set | ||
1015 | # CONFIG_SAMPLE_TRACE_EVENTS is not set | ||
1000 | # CONFIG_SAMPLE_KOBJECT is not set | 1016 | # CONFIG_SAMPLE_KOBJECT is not set |
1001 | # CONFIG_SAMPLE_KPROBES is not set | 1017 | # CONFIG_SAMPLE_KPROBES is not set |
1018 | # CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set | ||
1002 | 1019 | ||
1003 | # | 1020 | # |
1004 | # Security options | 1021 | # Security options |
@@ -1032,6 +1049,7 @@ CONFIG_CRYPTO_MANAGER=y | |||
1032 | CONFIG_CRYPTO_MANAGER2=y | 1049 | CONFIG_CRYPTO_MANAGER2=y |
1033 | CONFIG_CRYPTO_GF128MUL=m | 1050 | CONFIG_CRYPTO_GF128MUL=m |
1034 | # CONFIG_CRYPTO_NULL is not set | 1051 | # CONFIG_CRYPTO_NULL is not set |
1052 | # CONFIG_CRYPTO_PCRYPT is not set | ||
1035 | CONFIG_CRYPTO_WORKQUEUE=y | 1053 | CONFIG_CRYPTO_WORKQUEUE=y |
1036 | # CONFIG_CRYPTO_CRYPTD is not set | 1054 | # CONFIG_CRYPTO_CRYPTD is not set |
1037 | CONFIG_CRYPTO_AUTHENC=m | 1055 | CONFIG_CRYPTO_AUTHENC=m |
@@ -1119,7 +1137,7 @@ CONFIG_CRYPTO_SHA512_S390=m | |||
1119 | # CONFIG_CRYPTO_DES_S390 is not set | 1137 | # CONFIG_CRYPTO_DES_S390 is not set |
1120 | # CONFIG_CRYPTO_AES_S390 is not set | 1138 | # CONFIG_CRYPTO_AES_S390 is not set |
1121 | CONFIG_S390_PRNG=m | 1139 | CONFIG_S390_PRNG=m |
1122 | # CONFIG_BINARY_PRINTF is not set | 1140 | CONFIG_BINARY_PRINTF=y |
1123 | 1141 | ||
1124 | # | 1142 | # |
1125 | # Library routines | 1143 | # Library routines |
@@ -1136,14 +1154,16 @@ CONFIG_LIBCRC32C=m | |||
1136 | CONFIG_ZLIB_INFLATE=y | 1154 | CONFIG_ZLIB_INFLATE=y |
1137 | CONFIG_ZLIB_DEFLATE=m | 1155 | CONFIG_ZLIB_DEFLATE=m |
1138 | CONFIG_LZO_COMPRESS=m | 1156 | CONFIG_LZO_COMPRESS=m |
1139 | CONFIG_LZO_DECOMPRESS=m | 1157 | CONFIG_LZO_DECOMPRESS=y |
1140 | CONFIG_DECOMPRESS_GZIP=y | 1158 | CONFIG_DECOMPRESS_GZIP=y |
1141 | CONFIG_DECOMPRESS_BZIP2=y | 1159 | CONFIG_DECOMPRESS_BZIP2=y |
1142 | CONFIG_DECOMPRESS_LZMA=y | 1160 | CONFIG_DECOMPRESS_LZMA=y |
1161 | CONFIG_DECOMPRESS_LZO=y | ||
1143 | CONFIG_NLATTR=y | 1162 | CONFIG_NLATTR=y |
1144 | CONFIG_HAVE_KVM=y | 1163 | CONFIG_HAVE_KVM=y |
1145 | CONFIG_VIRTUALIZATION=y | 1164 | CONFIG_VIRTUALIZATION=y |
1146 | CONFIG_KVM=m | 1165 | CONFIG_KVM=m |
1166 | # CONFIG_VHOST_NET is not set | ||
1147 | CONFIG_VIRTIO=y | 1167 | CONFIG_VIRTIO=y |
1148 | CONFIG_VIRTIO_RING=y | 1168 | CONFIG_VIRTIO_RING=y |
1149 | CONFIG_VIRTIO_BALLOON=m | 1169 | CONFIG_VIRTIO_BALLOON=m |
diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h index 9b5b9189c15e..89a504c3f12e 100644 --- a/arch/s390/include/asm/pgtable.h +++ b/arch/s390/include/asm/pgtable.h | |||
@@ -105,7 +105,7 @@ extern char empty_zero_page[PAGE_SIZE]; | |||
105 | #ifndef __ASSEMBLY__ | 105 | #ifndef __ASSEMBLY__ |
106 | /* | 106 | /* |
107 | * The vmalloc area will always be on the topmost area of the kernel | 107 | * The vmalloc area will always be on the topmost area of the kernel |
108 | * mapping. We reserve 96MB (31bit) / 1GB (64bit) for vmalloc, | 108 | * mapping. We reserve 96MB (31bit) / 128GB (64bit) for vmalloc, |
109 | * which should be enough for any sane case. | 109 | * which should be enough for any sane case. |
110 | * By putting vmalloc at the top, we maximise the gap between physical | 110 | * By putting vmalloc at the top, we maximise the gap between physical |
111 | * memory and vmalloc to catch misplaced memory accesses. As a side | 111 | * memory and vmalloc to catch misplaced memory accesses. As a side |
@@ -120,8 +120,8 @@ extern unsigned long VMALLOC_START; | |||
120 | #define VMALLOC_END 0x7e000000UL | 120 | #define VMALLOC_END 0x7e000000UL |
121 | #define VMEM_MAP_END 0x80000000UL | 121 | #define VMEM_MAP_END 0x80000000UL |
122 | #else /* __s390x__ */ | 122 | #else /* __s390x__ */ |
123 | #define VMALLOC_SIZE (1UL << 30) | 123 | #define VMALLOC_SIZE (128UL << 30) |
124 | #define VMALLOC_END 0x3e040000000UL | 124 | #define VMALLOC_END 0x3e000000000UL |
125 | #define VMEM_MAP_END 0x40000000000UL | 125 | #define VMEM_MAP_END 0x40000000000UL |
126 | #endif /* __s390x__ */ | 126 | #endif /* __s390x__ */ |
127 | 127 | ||
diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c index 31d618a443af..2d92c2cf92d7 100644 --- a/arch/s390/kernel/early.c +++ b/arch/s390/kernel/early.c | |||
@@ -82,7 +82,8 @@ asm( | |||
82 | " lm 6,15,24(15)\n" | 82 | " lm 6,15,24(15)\n" |
83 | #endif | 83 | #endif |
84 | " br 14\n" | 84 | " br 14\n" |
85 | " .size savesys_ipl_nss, .-savesys_ipl_nss\n"); | 85 | " .size savesys_ipl_nss, .-savesys_ipl_nss\n" |
86 | " .previous\n"); | ||
86 | 87 | ||
87 | static __initdata char upper_command_line[COMMAND_LINE_SIZE]; | 88 | static __initdata char upper_command_line[COMMAND_LINE_SIZE]; |
88 | 89 | ||
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S index 4348f9bc5393..6af7045280a8 100644 --- a/arch/s390/kernel/entry.S +++ b/arch/s390/kernel/entry.S | |||
@@ -964,7 +964,7 @@ cleanup_critical: | |||
964 | clc 4(4,%r12),BASED(cleanup_table_io_work_loop) | 964 | clc 4(4,%r12),BASED(cleanup_table_io_work_loop) |
965 | bl BASED(0f) | 965 | bl BASED(0f) |
966 | clc 4(4,%r12),BASED(cleanup_table_io_work_loop+4) | 966 | clc 4(4,%r12),BASED(cleanup_table_io_work_loop+4) |
967 | bl BASED(cleanup_io_return) | 967 | bl BASED(cleanup_io_work_loop) |
968 | 0: | 968 | 0: |
969 | br %r14 | 969 | br %r14 |
970 | 970 | ||
@@ -1039,6 +1039,12 @@ cleanup_sysc_leave_insn: | |||
1039 | 1039 | ||
1040 | cleanup_io_return: | 1040 | cleanup_io_return: |
1041 | mvc __LC_RETURN_PSW(4),0(%r12) | 1041 | mvc __LC_RETURN_PSW(4),0(%r12) |
1042 | mvc __LC_RETURN_PSW+4(4),BASED(cleanup_table_io_return) | ||
1043 | la %r12,__LC_RETURN_PSW | ||
1044 | br %r14 | ||
1045 | |||
1046 | cleanup_io_work_loop: | ||
1047 | mvc __LC_RETURN_PSW(4),0(%r12) | ||
1042 | mvc __LC_RETURN_PSW+4(4),BASED(cleanup_table_io_work_loop) | 1048 | mvc __LC_RETURN_PSW+4(4),BASED(cleanup_table_io_work_loop) |
1043 | la %r12,__LC_RETURN_PSW | 1049 | la %r12,__LC_RETURN_PSW |
1044 | br %r14 | 1050 | br %r14 |
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S index 29fd0f1e6ec4..52106d53271c 100644 --- a/arch/s390/kernel/entry64.S +++ b/arch/s390/kernel/entry64.S | |||
@@ -946,7 +946,7 @@ cleanup_critical: | |||
946 | clc 8(8,%r12),BASED(cleanup_table_io_work_loop) | 946 | clc 8(8,%r12),BASED(cleanup_table_io_work_loop) |
947 | jl 0f | 947 | jl 0f |
948 | clc 8(8,%r12),BASED(cleanup_table_io_work_loop+8) | 948 | clc 8(8,%r12),BASED(cleanup_table_io_work_loop+8) |
949 | jl cleanup_io_return | 949 | jl cleanup_io_work_loop |
950 | 0: | 950 | 0: |
951 | br %r14 | 951 | br %r14 |
952 | 952 | ||
@@ -1021,6 +1021,12 @@ cleanup_sysc_leave_insn: | |||
1021 | 1021 | ||
1022 | cleanup_io_return: | 1022 | cleanup_io_return: |
1023 | mvc __LC_RETURN_PSW(8),0(%r12) | 1023 | mvc __LC_RETURN_PSW(8),0(%r12) |
1024 | mvc __LC_RETURN_PSW+8(8),BASED(cleanup_table_io_return) | ||
1025 | la %r12,__LC_RETURN_PSW | ||
1026 | br %r14 | ||
1027 | |||
1028 | cleanup_io_work_loop: | ||
1029 | mvc __LC_RETURN_PSW(8),0(%r12) | ||
1024 | mvc __LC_RETURN_PSW+8(8),BASED(cleanup_table_io_work_loop) | 1030 | mvc __LC_RETURN_PSW+8(8),BASED(cleanup_table_io_work_loop) |
1025 | la %r12,__LC_RETURN_PSW | 1031 | la %r12,__LC_RETURN_PSW |
1026 | br %r14 | 1032 | br %r14 |
diff --git a/arch/s390/kernel/topology.c b/arch/s390/kernel/topology.c index 14ef6f05e432..247b4c2d1e51 100644 --- a/arch/s390/kernel/topology.c +++ b/arch/s390/kernel/topology.c | |||
@@ -165,10 +165,11 @@ static void tl_to_cores(struct tl_info *info) | |||
165 | default: | 165 | default: |
166 | clear_cores(); | 166 | clear_cores(); |
167 | machine_has_topology = 0; | 167 | machine_has_topology = 0; |
168 | return; | 168 | goto out; |
169 | } | 169 | } |
170 | tle = next_tle(tle); | 170 | tle = next_tle(tle); |
171 | } | 171 | } |
172 | out: | ||
172 | spin_unlock_irq(&topology_lock); | 173 | spin_unlock_irq(&topology_lock); |
173 | } | 174 | } |
174 | 175 | ||
diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c index 8ea3144b45b8..90165e7ca04e 100644 --- a/arch/s390/mm/vmem.c +++ b/arch/s390/mm/vmem.c | |||
@@ -71,12 +71,8 @@ static pte_t __ref *vmem_pte_alloc(void) | |||
71 | pte = alloc_bootmem(PTRS_PER_PTE * sizeof(pte_t)); | 71 | pte = alloc_bootmem(PTRS_PER_PTE * sizeof(pte_t)); |
72 | if (!pte) | 72 | if (!pte) |
73 | return NULL; | 73 | return NULL; |
74 | if (MACHINE_HAS_HPAGE) | 74 | clear_table((unsigned long *) pte, _PAGE_TYPE_EMPTY, |
75 | clear_table((unsigned long *) pte, _PAGE_TYPE_EMPTY | _PAGE_CO, | 75 | PTRS_PER_PTE * sizeof(pte_t)); |
76 | PTRS_PER_PTE * sizeof(pte_t)); | ||
77 | else | ||
78 | clear_table((unsigned long *) pte, _PAGE_TYPE_EMPTY, | ||
79 | PTRS_PER_PTE * sizeof(pte_t)); | ||
80 | return pte; | 76 | return pte; |
81 | } | 77 | } |
82 | 78 | ||
@@ -117,8 +113,7 @@ static int vmem_add_mem(unsigned long start, unsigned long size, int ro) | |||
117 | if (MACHINE_HAS_HPAGE && !(address & ~HPAGE_MASK) && | 113 | if (MACHINE_HAS_HPAGE && !(address & ~HPAGE_MASK) && |
118 | (address + HPAGE_SIZE <= start + size) && | 114 | (address + HPAGE_SIZE <= start + size) && |
119 | (address >= HPAGE_SIZE)) { | 115 | (address >= HPAGE_SIZE)) { |
120 | pte_val(pte) |= _SEGMENT_ENTRY_LARGE | | 116 | pte_val(pte) |= _SEGMENT_ENTRY_LARGE; |
121 | _SEGMENT_ENTRY_CO; | ||
122 | pmd_val(*pm_dir) = pte_val(pte); | 117 | pmd_val(*pm_dir) = pte_val(pte); |
123 | address += HPAGE_SIZE - PAGE_SIZE; | 118 | address += HPAGE_SIZE - PAGE_SIZE; |
124 | continue; | 119 | continue; |
diff --git a/drivers/s390/char/sclp_async.c b/drivers/s390/char/sclp_async.c index 2aecf7f21361..7ad30e72f868 100644 --- a/drivers/s390/char/sclp_async.c +++ b/drivers/s390/char/sclp_async.c | |||
@@ -85,7 +85,7 @@ static int proc_handler_callhome(struct ctl_table *ctl, int write, | |||
85 | rc = copy_from_user(buf, buffer, sizeof(buf)); | 85 | rc = copy_from_user(buf, buffer, sizeof(buf)); |
86 | if (rc != 0) | 86 | if (rc != 0) |
87 | return -EFAULT; | 87 | return -EFAULT; |
88 | buf[len - 1] = '\0'; | 88 | buf[sizeof(buf) - 1] = '\0'; |
89 | if (strict_strtoul(buf, 0, &val) != 0) | 89 | if (strict_strtoul(buf, 0, &val) != 0) |
90 | return -EINVAL; | 90 | return -EINVAL; |
91 | if (val != 0 && val != 1) | 91 | if (val != 0 && val != 1) |