|
@@ -1657,7 +1657,6 @@ int get_dumpable(struct mm_struct *mm)
|
|
|
return __get_dumpable(mm->flags);
|
|
|
}
|
|
|
|
|
|
-#ifdef __ARCH_WANT_SYS_EXECVE
|
|
|
SYSCALL_DEFINE3(execve,
|
|
|
const char __user *, filename,
|
|
|
const char __user *const __user *, argv,
|
|
@@ -1685,23 +1684,3 @@ asmlinkage long compat_sys_execve(const char __user * filename,
|
|
|
return error;
|
|
|
}
|
|
|
#endif
|
|
|
-#endif
|
|
|
-
|
|
|
-#ifdef __ARCH_WANT_KERNEL_EXECVE
|
|
|
-int kernel_execve(const char *filename,
|
|
|
- const char *const argv[],
|
|
|
- const char *const envp[])
|
|
|
-{
|
|
|
- int ret = do_execve(filename,
|
|
|
- (const char __user *const __user *)argv,
|
|
|
- (const char __user *const __user *)envp);
|
|
|
- if (ret < 0)
|
|
|
- return ret;
|
|
|
-
|
|
|
- /*
|
|
|
- * We were successful. We won't be returning to our caller, but
|
|
|
- * instead to user space by manipulating the kernel stack.
|
|
|
- */
|
|
|
- ret_from_kernel_execve(current_pt_regs());
|
|
|
-}
|
|
|
-#endif
|