summaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-12-14 18:44:11 +0100
committerAl Viro <viro@zeniv.linux.org.uk>2012-12-20 00:07:38 +0100
commitae903caae267154de7cf8576b130ff474630596b (patch)
treea39d238d7fd1742f7f20cacbd24a4d1b4957176e /init
parentCOMPAT_SYSCALL_DEFINE: infrastructure (diff)
downloadlinux-ae903caae267154de7cf8576b130ff474630596b.tar.xz
linux-ae903caae267154de7cf8576b130ff474630596b.zip
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 'init')
-rw-r--r--init/main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/init/main.c b/init/main.c
index e33e09df3cbc..155ac208d581 100644
--- a/init/main.c
+++ b/init/main.c
@@ -797,7 +797,9 @@ static void __init do_pre_smp_initcalls(void)
static int run_init_process(const char *init_filename)
{
argv_init[0] = init_filename;
- return kernel_execve(init_filename, argv_init, envp_init);
+ return do_execve(init_filename,
+ (const char __user *const __user *)argv_init,
+ (const char __user *const __user *)envp_init);
}
static void __init kernel_init_freeable(void);