blackfin: Remove the BKL from sys_execve
authorJohn Kacur <jkacur@redhat.com>
Mon, 12 Oct 2009 20:44:40 +0000 (22:44 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 14 Oct 2009 15:18:14 +0000 (17:18 +0200)
This looks like a cut-and-paste job. For example, compare this
function to sys_execve in arch/x86/kernel/process_64.c and it is
almost line by line the same, except the one in x86 nolonger has the
big kernel lock. All of the functions called between the lock are
generic and not specific to blackfin - thus, I believe it is safe to
remove the bkl here.

Signed-off-by: John Kacur <jkacur@redhat.com>
Reviewed-by: Frederic Weisbecker <fweisbec@gmail.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
LKML-Reference: <alpine.LFD.2.00.0910130007240.3658@localhost.localdomain>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/blackfin/kernel/process.c

index 430ae39456e8e1b5cbe9c2c5c6396ff921699722..7d9c9750fd93fced6ff8b93aa9cb3df7678b4603 100644 (file)
@@ -215,22 +215,18 @@ copy_thread(unsigned long clone_flags,
 /*
  * sys_execve() executes a new program.
  */
-
 asmlinkage int sys_execve(char __user *name, char __user * __user *argv, char __user * __user *envp)
 {
        int error;
        char *filename;
        struct pt_regs *regs = (struct pt_regs *)((&name) + 6);
 
-       lock_kernel();
        filename = getname(name);
        error = PTR_ERR(filename);
        if (IS_ERR(filename))
-               goto out;
+               return error;
        error = do_execve(filename, argv, envp, regs);
        putname(filename);
- out:
-       unlock_kernel();
        return error;
 }