aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-12-14 12:44:11 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2012-12-19 18:07:38 -0500
commitae903caae267154de7cf8576b130ff474630596b (patch)
treea39d238d7fd1742f7f20cacbd24a4d1b4957176e /include/linux
parent468366138850f20543f1d4878028900672b23dae (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.h4
-rw-r--r--include/linux/sched.h2
-rw-r--r--include/linux/syscalls.h9
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);
121extern void set_binfmt(struct linux_binfmt *new); 121extern void set_binfmt(struct linux_binfmt *new);
122extern void free_bprm(struct linux_binprm *); 122extern void free_bprm(struct linux_binprm *);
123 123
124#ifdef __ARCH_WANT_KERNEL_EXECVE
125extern 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 *);
2292extern long do_fork(unsigned long, unsigned long, unsigned long, int __user *, int __user *); 2292extern long do_fork(unsigned long, unsigned long, unsigned long, int __user *, int __user *);
2293struct task_struct *fork_idle(int); 2293struct task_struct *fork_idle(int);
2294#ifdef CONFIG_GENERIC_KERNEL_THREAD
2295extern pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags); 2294extern pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
2296#endif
2297 2295
2298extern void set_task_comm(struct task_struct *tsk, char *from); 2296extern void set_task_comm(struct task_struct *tsk, char *from);
2299extern char *get_task_comm(char *to, struct task_struct *tsk); 2297extern 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);
828asmlinkage long sys_syncfs(int fd); 828asmlinkage long sys_syncfs(int fd);
829 829
830#ifndef CONFIG_GENERIC_KERNEL_EXECVE
831int 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
839asmlinkage long sys_fork(void); 830asmlinkage long sys_fork(void);
840asmlinkage long sys_vfork(void); 831asmlinkage long sys_vfork(void);
841#ifdef CONFIG_CLONE_BACKWARDS 832#ifdef CONFIG_CLONE_BACKWARDS