Messages in this thread Patch in this message | | | Date | Tue, 13 Oct 2009 00:33:21 +0200 (CEST) | From | John Kacur <> | 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
| |