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) |
