microblaze: switch to generic sys_execve()
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 10 Oct 2012 17:11:01 +0000 (13:11 -0400)
committerMichal Simek <michal.simek@xilinx.com>
Fri, 16 Nov 2012 07:45:55 +0000 (08:45 +0100)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/microblaze/include/asm/unistd.h
arch/microblaze/kernel/entry-nommu.S
arch/microblaze/kernel/entry.S
arch/microblaze/kernel/sys_microblaze.c

index 6985e6e..ea74428 100644 (file)
 #define __ARCH_WANT_SYS_SIGPROCMASK
 #define __ARCH_WANT_SYS_RT_SIGACTION
 #define __ARCH_WANT_SYS_RT_SIGSUSPEND
+#define __ARCH_WANT_SYS_EXECVE
 
 /*
  * "Conditional" syscalls
index 8957c77..673a49c 100644 (file)
@@ -567,10 +567,6 @@ sys_clone:
        brid    microblaze_clone
        addk    r7, r1, r0
 
-sys_execve:
-       brid    microblaze_execve
-       addk    r8, r1, r0
-
 sys_rt_sigreturn_wrapper:
        brid    sys_rt_sigreturn
        addk    r5, r1, r0
index 9aa54de..10f360e 100644 (file)
@@ -489,10 +489,6 @@ C_ENTRY(sys_clone):
        brid    do_fork         /* Do real work (tail-call) */
        add     r8, r0, r0;             /* Arg 3: (unused) */
 
-C_ENTRY(sys_execve):
-       brid    microblaze_execve;      /* Do real work (tail-call).*/
-       addik   r8, r1, 0;              /* add user context as 4th arg */
-
 C_ENTRY(sys_rt_sigreturn_wrapper):
        brid    sys_rt_sigreturn        /* Do real work */
        addik   r5, r1, 0;              /* add user context as 1st arg */
index b200ee7..a6a7bae 100644 (file)
@@ -48,24 +48,6 @@ asmlinkage long microblaze_clone(int flags, unsigned long stack,
        return do_fork(flags, stack, regs, 0, NULL, NULL);
 }
 
-asmlinkage long microblaze_execve(const char __user *filenamei,
-                                 const char __user *const __user *argv,
-                                 const char __user *const __user *envp,
-                                 struct pt_regs *regs)
-{
-       int error;
-       struct filename *filename;
-
-       filename = getname(filenamei);
-       error = PTR_ERR(filename);
-       if (IS_ERR(filename))
-               goto out;
-       error = do_execve(filename->name, argv, envp, regs);
-       putname(filename);
-out:
-       return error;
-}
-
 asmlinkage long sys_mmap(unsigned long addr, unsigned long len,
                        unsigned long prot, unsigned long flags,
                        unsigned long fd, off_t pgoff)