Merge branch 'bkl-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 9 Dec 2009 16:07:51 +0000 (08:07 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 9 Dec 2009 16:07:51 +0000 (08:07 -0800)
* 'bkl-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  mn10300: Remove the BKL from sys_execve
  m68knommu: Remove the BKL from sys_execve
  m68k: Remove the BKL from sys_execve
  h83000: Remove BKL from sys_execve
  frv: Remove the BKL from sys_execve
  blackfin: Remove the BKL from sys_execve
  um: Remove BKL from mmapper
  um: Remove BKL from random
  s390: Remove BKL from prng

1  2 
arch/blackfin/kernel/process.c

index 5cc7e2e9e4156f202bd9bc10f7c58cfa72e0bdbf,7d9c9750fd93fced6ff8b93aa9cb3df7678b4603..45876427eb2dca826359b0767ace3d1523bc6c5c
@@@ -151,7 -151,7 +151,7 @@@ void start_thread(struct pt_regs *regs
        regs->pc = new_ip;
        if (current->mm)
                regs->p5 = current->mm->start_data;
 -#ifdef CONFIG_SMP
 +#ifndef CONFIG_SMP
        task_thread_info(current)->l1_task_info.stack_start =
                (void *)current->mm->context.stack_start;
        task_thread_info(current)->l1_task_info.lowest_sp = (void *)new_sp;
@@@ -215,22 -215,18 +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;
  }