diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-20 21:05:28 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-20 21:05:28 -0500 |
commit | 54d46ea993744c5408e39ce0cb4851e13cbea716 (patch) | |
tree | 8e38fa92cc2ae72e0353c44e1e68be9bf5a7a058 /arch/s390 | |
parent | f59dc2bb5a50b26ea751f9eac1c81e4cc7de5257 (diff) | |
parent | 50ececcfa7d1acee085b2c518cad495062db6379 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
Pull signal handling cleanups from Al Viro:
"sigaltstack infrastructure + conversion for x86, alpha and um,
COMPAT_SYSCALL_DEFINE infrastructure.
Note that there are several conflicts between "unify
SS_ONSTACK/SS_DISABLE definitions" and UAPI patches in mainline;
resolution is trivial - just remove definitions of SS_ONSTACK and
SS_DISABLED from arch/*/uapi/asm/signal.h; they are all identical and
include/uapi/linux/signal.h contains the unified variant."
Fixed up conflicts as per Al.
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
alpha: switch to generic sigaltstack
new helpers: __save_altstack/__compat_save_altstack, switch x86 and um to those
generic compat_sys_sigaltstack()
introduce generic sys_sigaltstack(), switch x86 and um to it
new helper: compat_user_stack_pointer()
new helper: restore_altstack()
unify SS_ONSTACK/SS_DISABLE definitions
new helper: current_user_stack_pointer()
missing user_stack_pointer() instances
Bury the conditionals from kernel_thread/kernel_execve series
COMPAT_SYSCALL_DEFINE: infrastructure
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/Kconfig | 2 | ||||
-rw-r--r-- | arch/s390/include/asm/compat.h | 3 | ||||
-rw-r--r-- | arch/s390/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/s390/include/uapi/asm/signal.h | 6 |
4 files changed, 3 insertions, 9 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 32425af9d68d..b5ea38c25647 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig | |||
@@ -137,8 +137,6 @@ config S390 | |||
137 | select GENERIC_CLOCKEVENTS | 137 | select GENERIC_CLOCKEVENTS |
138 | select KTIME_SCALAR if 32BIT | 138 | select KTIME_SCALAR if 32BIT |
139 | select HAVE_ARCH_SECCOMP_FILTER | 139 | select HAVE_ARCH_SECCOMP_FILTER |
140 | select GENERIC_KERNEL_THREAD | ||
141 | select GENERIC_KERNEL_EXECVE | ||
142 | select HAVE_MOD_ARCH_SPECIFIC | 140 | select HAVE_MOD_ARCH_SPECIFIC |
143 | select MODULES_USE_ELF_RELA | 141 | select MODULES_USE_ELF_RELA |
144 | select CLONE_BACKWARDS2 | 142 | select CLONE_BACKWARDS2 |
diff --git a/arch/s390/include/asm/compat.h b/arch/s390/include/asm/compat.h index 18cd6b592650..f8c6df6cd1f0 100644 --- a/arch/s390/include/asm/compat.h +++ b/arch/s390/include/asm/compat.h | |||
@@ -7,6 +7,9 @@ | |||
7 | #include <linux/sched.h> | 7 | #include <linux/sched.h> |
8 | #include <linux/thread_info.h> | 8 | #include <linux/thread_info.h> |
9 | 9 | ||
10 | #define __TYPE_IS_PTR(t) (!__builtin_types_compatible_p(typeof(0?(t)0:0ULL), u64)) | ||
11 | #define __SC_DELOUSE(t,v) (t)(__TYPE_IS_PTR(t) ? ((v) & 0x7fffffff) : (v)) | ||
12 | |||
10 | #define PSW32_MASK_PER 0x40000000UL | 13 | #define PSW32_MASK_PER 0x40000000UL |
11 | #define PSW32_MASK_DAT 0x04000000UL | 14 | #define PSW32_MASK_DAT 0x04000000UL |
12 | #define PSW32_MASK_IO 0x02000000UL | 15 | #define PSW32_MASK_IO 0x02000000UL |
diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h index 086bb8eaf6ab..636530872516 100644 --- a/arch/s390/include/asm/unistd.h +++ b/arch/s390/include/asm/unistd.h | |||
@@ -53,7 +53,6 @@ | |||
53 | # define __ARCH_WANT_COMPAT_SYS_TIME | 53 | # define __ARCH_WANT_COMPAT_SYS_TIME |
54 | # define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND | 54 | # define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND |
55 | # endif | 55 | # endif |
56 | #define __ARCH_WANT_SYS_EXECVE | ||
57 | #define __ARCH_WANT_SYS_FORK | 56 | #define __ARCH_WANT_SYS_FORK |
58 | #define __ARCH_WANT_SYS_VFORK | 57 | #define __ARCH_WANT_SYS_VFORK |
59 | #define __ARCH_WANT_SYS_CLONE | 58 | #define __ARCH_WANT_SYS_CLONE |
diff --git a/arch/s390/include/uapi/asm/signal.h b/arch/s390/include/uapi/asm/signal.h index 8c6a49e392ee..2f43cfbf5f1a 100644 --- a/arch/s390/include/uapi/asm/signal.h +++ b/arch/s390/include/uapi/asm/signal.h | |||
@@ -90,12 +90,6 @@ typedef unsigned long sigset_t; | |||
90 | 90 | ||
91 | #define SA_RESTORER 0x04000000 | 91 | #define SA_RESTORER 0x04000000 |
92 | 92 | ||
93 | /* | ||
94 | * sigaltstack controls | ||
95 | */ | ||
96 | #define SS_ONSTACK 1 | ||
97 | #define SS_DISABLE 2 | ||
98 | |||
99 | #define MINSIGSTKSZ 2048 | 93 | #define MINSIGSTKSZ 2048 |
100 | #define SIGSTKSZ 8192 | 94 | #define SIGSTKSZ 8192 |
101 | 95 | ||