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/arm64/include | |
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/arm64/include')
-rw-r--r-- | arch/arm64/include/asm/compat.h | 5 | ||||
-rw-r--r-- | arch/arm64/include/asm/unistd.h | 1 |
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm64/include/asm/compat.h b/arch/arm64/include/asm/compat.h index 37e610dc084e..d9ec40217a27 100644 --- a/arch/arm64/include/asm/compat.h +++ b/arch/arm64/include/asm/compat.h | |||
@@ -209,10 +209,11 @@ static inline compat_uptr_t ptr_to_compat(void __user *uptr) | |||
209 | return (u32)(unsigned long)uptr; | 209 | return (u32)(unsigned long)uptr; |
210 | } | 210 | } |
211 | 211 | ||
212 | #define compat_user_stack_pointer() (current_pt_regs()->compat_sp) | ||
213 | |||
212 | static inline void __user *arch_compat_alloc_user_space(long len) | 214 | static inline void __user *arch_compat_alloc_user_space(long len) |
213 | { | 215 | { |
214 | struct pt_regs *regs = task_pt_regs(current); | 216 | return (void __user *)compat_user_stack_pointer() - len; |
215 | return (void __user *)regs->compat_sp - len; | ||
216 | } | 217 | } |
217 | 218 | ||
218 | struct compat_ipc64_perm { | 219 | struct compat_ipc64_perm { |
diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h index 76fb7dd3350a..744087fb521c 100644 --- a/arch/arm64/include/asm/unistd.h +++ b/arch/arm64/include/asm/unistd.h | |||
@@ -28,6 +28,5 @@ | |||
28 | #define __ARCH_WANT_SYS_FORK | 28 | #define __ARCH_WANT_SYS_FORK |
29 | #define __ARCH_WANT_SYS_VFORK | 29 | #define __ARCH_WANT_SYS_VFORK |
30 | #endif | 30 | #endif |
31 | #define __ARCH_WANT_SYS_EXECVE | ||
32 | #define __ARCH_WANT_SYS_CLONE | 31 | #define __ARCH_WANT_SYS_CLONE |
33 | #include <uapi/asm/unistd.h> | 32 | #include <uapi/asm/unistd.h> |