diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-12-14 12:44:11 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-12-19 18:07:38 -0500 |
commit | ae903caae267154de7cf8576b130ff474630596b (patch) | |
tree | a39d238d7fd1742f7f20cacbd24a4d1b4957176e /include/linux | |
parent | 468366138850f20543f1d4878028900672b23dae (diff) |
Bury the conditionals from kernel_thread/kernel_execve series
All architectures have
CONFIG_GENERIC_KERNEL_THREAD
CONFIG_GENERIC_KERNEL_EXECVE
__ARCH_WANT_SYS_EXECVE
None of them have __ARCH_WANT_KERNEL_EXECVE and there are only two callers
of kernel_execve() (which is a trivial wrapper for do_execve() now) left.
Kill the conditionals and make both callers use do_execve().
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/binfmts.h | 4 | ||||
-rw-r--r-- | include/linux/sched.h | 2 | ||||
-rw-r--r-- | include/linux/syscalls.h | 9 |
3 files changed, 0 insertions, 15 deletions
diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h index 2630c9b41a86..8c1388c6ae27 100644 --- a/include/linux/binfmts.h +++ b/include/linux/binfmts.h | |||
@@ -121,8 +121,4 @@ extern void install_exec_creds(struct linux_binprm *bprm); | |||
121 | extern void set_binfmt(struct linux_binfmt *new); | 121 | extern void set_binfmt(struct linux_binfmt *new); |
122 | extern void free_bprm(struct linux_binprm *); | 122 | extern void free_bprm(struct linux_binprm *); |
123 | 123 | ||
124 | #ifdef __ARCH_WANT_KERNEL_EXECVE | ||
125 | extern void ret_from_kernel_execve(struct pt_regs *normal) __noreturn; | ||
126 | #endif | ||
127 | |||
128 | #endif /* _LINUX_BINFMTS_H */ | 124 | #endif /* _LINUX_BINFMTS_H */ |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 1162258bcaf0..9e5a54e3d84f 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -2291,9 +2291,7 @@ extern int do_execve(const char *, | |||
2291 | const char __user * const __user *); | 2291 | const char __user * const __user *); |
2292 | extern long do_fork(unsigned long, unsigned long, unsigned long, int __user *, int __user *); | 2292 | extern long do_fork(unsigned long, unsigned long, unsigned long, int __user *, int __user *); |
2293 | struct task_struct *fork_idle(int); | 2293 | struct task_struct *fork_idle(int); |
2294 | #ifdef CONFIG_GENERIC_KERNEL_THREAD | ||
2295 | extern pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags); | 2294 | extern pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags); |
2296 | #endif | ||
2297 | 2295 | ||
2298 | extern void set_task_comm(struct task_struct *tsk, char *from); | 2296 | extern void set_task_comm(struct task_struct *tsk, char *from); |
2299 | extern char *get_task_comm(char *to, struct task_struct *tsk); | 2297 | extern char *get_task_comm(char *to, struct task_struct *tsk); |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 91835e7f364d..9fe5f946526e 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
@@ -827,15 +827,6 @@ asmlinkage long sys_fanotify_mark(int fanotify_fd, unsigned int flags, | |||
827 | const char __user *pathname); | 827 | const char __user *pathname); |
828 | asmlinkage long sys_syncfs(int fd); | 828 | asmlinkage long sys_syncfs(int fd); |
829 | 829 | ||
830 | #ifndef CONFIG_GENERIC_KERNEL_EXECVE | ||
831 | int kernel_execve(const char *filename, const char *const argv[], const char *const envp[]); | ||
832 | #else | ||
833 | #define kernel_execve(filename, argv, envp) \ | ||
834 | do_execve(filename, \ | ||
835 | (const char __user *const __user *)argv, \ | ||
836 | (const char __user *const __user *)envp) | ||
837 | #endif | ||
838 | |||
839 | asmlinkage long sys_fork(void); | 830 | asmlinkage long sys_fork(void); |
840 | asmlinkage long sys_vfork(void); | 831 | asmlinkage long sys_vfork(void); |
841 | #ifdef CONFIG_CLONE_BACKWARDS | 832 | #ifdef CONFIG_CLONE_BACKWARDS |