aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-12-20 21:05:28 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-12-20 21:05:28 -0500
commit54d46ea993744c5408e39ce0cb4851e13cbea716 (patch)
tree8e38fa92cc2ae72e0353c44e1e68be9bf5a7a058 /fs
parentf59dc2bb5a50b26ea751f9eac1c81e4cc7de5257 (diff)
parent50ececcfa7d1acee085b2c518cad495062db6379 (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 'fs')
-rw-r--r--fs/exec.c21
1 files changed, 0 insertions, 21 deletions
diff --git a/fs/exec.c b/fs/exec.c
index d8e1191cb112..af8ec80f816d 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -1654,7 +1654,6 @@ int get_dumpable(struct mm_struct *mm)
1654 return __get_dumpable(mm->flags); 1654 return __get_dumpable(mm->flags);
1655} 1655}
1656 1656
1657#ifdef __ARCH_WANT_SYS_EXECVE
1658SYSCALL_DEFINE3(execve, 1657SYSCALL_DEFINE3(execve,
1659 const char __user *, filename, 1658 const char __user *, filename,
1660 const char __user *const __user *, argv, 1659 const char __user *const __user *, argv,
@@ -1682,23 +1681,3 @@ asmlinkage long compat_sys_execve(const char __user * filename,
1682 return error; 1681 return error;
1683} 1682}
1684#endif 1683#endif
1685#endif
1686
1687#ifdef __ARCH_WANT_KERNEL_EXECVE
1688int kernel_execve(const char *filename,
1689 const char *const argv[],
1690 const char *const envp[])
1691{
1692 int ret = do_execve(filename,
1693 (const char __user *const __user *)argv,
1694 (const char __user *const __user *)envp);
1695 if (ret < 0)
1696 return ret;
1697
1698 /*
1699 * We were successful. We won't be returning to our caller, but
1700 * instead to user space by manipulating the kernel stack.
1701 */
1702 ret_from_kernel_execve(current_pt_regs());
1703}
1704#endif