lkml.org 
[lkml]   [2009]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/6 RFC] arch/blackfin/kernel/process.c: Remove the BKL from sys_execve
On Tue, Oct 13, 2009 at 12:33:21AM +0200, John Kacur wrote:
> From b9b41b5a546ed0202c099f0d973da4df9aea314a Mon Sep 17 00:00:00 2001
> From: John Kacur <jkacur@redhat.com>
> Date: Mon, 12 Oct 2009 22:44:40 +0200
> Subject: [PATCH] arch/blackfin/kernel/process.c: Remove the BKL from sys_execve
>
> 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>
> ---
> arch/blackfin/kernel/process.c | 6 +-----
> 1 files changed, 1 insertions(+), 5 deletions(-)
>
> diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c
> index 430ae39..7d9c975 100644
> --- a/arch/blackfin/kernel/process.c
> +++ b/arch/blackfin/kernel/process.c
> @@ -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;
> }
>
> --
> 1.6.0.6
>
>


Yeah, there seem to be nothing to protect there.

Reviewed-by: Frederic Weisbecker <fweisbec@gmail.com>



\
 
 \ /
  Last update: 2009-10-13 01:03    [W:0.218 / U:0.976 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site