]> Pileus Git - ~andy/linux/blobdiff - arch/um/kernel/exec.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
[~andy/linux] / arch / um / kernel / exec.c
index 8c82786da823df2cdf53ad9361b9b950d85018c7..ab019c7f0b57fdc06f9a70c974d44d80cbd9f1b8 100644 (file)
 #include <asm/current.h>
 #include <asm/processor.h>
 #include <asm/uaccess.h>
-#include "as-layout.h"
-#include "mem_user.h"
-#include "skas.h"
-#include "os.h"
-#include "internal.h"
+#include <as-layout.h>
+#include <mem_user.h>
+#include <skas.h>
+#include <os.h>
 
 void flush_thread(void)
 {
@@ -49,27 +48,7 @@ void start_thread(struct pt_regs *regs, unsigned long eip, unsigned long esp)
 }
 EXPORT_SYMBOL(start_thread);
 
-long um_execve(const char *file, const char __user *const __user *argv, const char __user *const __user *env)
+void __noreturn ret_from_kernel_execve(struct pt_regs *unused)
 {
-       long err;
-
-       err = do_execve(file, argv, env, &current->thread.regs);
-       if (!err)
-               UML_LONGJMP(current->thread.exec_buf, 1);
-       return err;
-}
-
-long sys_execve(const char __user *file, const char __user *const __user *argv,
-               const char __user *const __user *env)
-{
-       long error;
-       char *filename;
-
-       filename = getname(file);
-       error = PTR_ERR(filename);
-       if (IS_ERR(filename)) goto out;
-       error = do_execve(filename, argv, env, &current->thread.regs);
-       putname(filename);
- out:
-       return error;
+       UML_LONGJMP(current->thread.exec_buf, 1);
 }