lkml.org 
[lkml]   [2009]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 1/6 RFC] arch/blackfin/kernel/process.c: Remove the BKL from sys_execve
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



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