diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-09-30 21:38:55 +0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-01 06:20:51 +0400 |
commit | 38b983b3461e7d3c64a981e2338bb34605c46f30 (patch) | |
tree | fb7dc311ba4d175746fb693530cf63db9ddb8616 /include/linux/compat.h | |
parent | 282124d18626379a20b41d25e0c580f290cd09d4 (diff) | |
download | linux-38b983b3461e7d3c64a981e2338bb34605c46f30.tar.xz |
generic sys_execve()
Selected by __ARCH_WANT_SYS_EXECVE in unistd.h. Requires
* working current_pt_regs()
* *NOT* doing a syscall-in-kernel kind of kernel_execve()
implementation. Using generic kernel_execve() is fine.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux/compat.h')
-rw-r--r-- | include/linux/compat.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/compat.h b/include/linux/compat.h index 09b28b7369d7..c4be3f55511d 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h @@ -289,8 +289,12 @@ asmlinkage ssize_t compat_sys_pwritev(unsigned long fd, const struct compat_iovec __user *vec, unsigned long vlen, u32 pos_low, u32 pos_high); -int compat_do_execve(char *filename, compat_uptr_t __user *argv, - compat_uptr_t __user *envp, struct pt_regs *regs); +int compat_do_execve(const char *filename, const compat_uptr_t __user *argv, + const compat_uptr_t __user *envp, struct pt_regs *regs); +#ifdef __ARCH_WANT_SYS_EXECVE +asmlinkage long compat_sys_execve(const char __user *filename, const compat_uptr_t __user *argv, + const compat_uptr_t __user *envp); +#endif asmlinkage long compat_sys_select(int n, compat_ulong_t __user *inp, compat_ulong_t __user *outp, compat_ulong_t __user *exp, |