提交 12e750d9 编写于 作者: A Arnd Bergmann 提交者: Matt Turner

alpha: kill big kernel lock

All uses of the BKL on alpha are totally bogus, nothing
is really protected by this. Remove the remaining users
so we don't have to mark alpha as 'depends on BKL'.
Signed-off-by: NArnd Bergmann <arnd@arndb.de>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: linux-alpha@vger.kernel.org
Signed-off-by: NMatt Turner <mattst88@gmail.com>
上级 b97f897d
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/smp.h> #include <linux/smp.h>
#include <linux/smp_lock.h>
#include <linux/stddef.h> #include <linux/stddef.h>
#include <linux/syscalls.h> #include <linux/syscalls.h>
#include <linux/unistd.h> #include <linux/unistd.h>
...@@ -69,7 +68,6 @@ SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start, ...@@ -69,7 +68,6 @@ SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start,
{ {
struct mm_struct *mm; struct mm_struct *mm;
lock_kernel();
mm = current->mm; mm = current->mm;
mm->end_code = bss_start + bss_len; mm->end_code = bss_start + bss_len;
mm->start_brk = bss_start + bss_len; mm->start_brk = bss_start + bss_len;
...@@ -78,7 +76,6 @@ SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start, ...@@ -78,7 +76,6 @@ SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start,
printk("set_program_attributes(%lx %lx %lx %lx)\n", printk("set_program_attributes(%lx %lx %lx %lx)\n",
text_start, text_len, bss_start, bss_len); text_start, text_len, bss_start, bss_len);
#endif #endif
unlock_kernel();
return 0; return 0;
} }
...@@ -517,7 +514,6 @@ SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code, ...@@ -517,7 +514,6 @@ SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code,
long error; long error;
int __user *min_buf_size_ptr; int __user *min_buf_size_ptr;
lock_kernel();
switch (code) { switch (code) {
case PL_SET: case PL_SET:
if (get_user(error, &args->set.nbytes)) if (get_user(error, &args->set.nbytes))
...@@ -547,7 +543,6 @@ SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code, ...@@ -547,7 +543,6 @@ SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code,
error = -EOPNOTSUPP; error = -EOPNOTSUPP;
break; break;
}; };
unlock_kernel();
return error; return error;
} }
......
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/tty.h> #include <linux/tty.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/smp_lock.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/kallsyms.h> #include <linux/kallsyms.h>
...@@ -623,7 +622,6 @@ do_entUna(void * va, unsigned long opcode, unsigned long reg, ...@@ -623,7 +622,6 @@ do_entUna(void * va, unsigned long opcode, unsigned long reg,
return; return;
} }
lock_kernel();
printk("Bad unaligned kernel access at %016lx: %p %lx %lu\n", printk("Bad unaligned kernel access at %016lx: %p %lx %lu\n",
pc, va, opcode, reg); pc, va, opcode, reg);
do_exit(SIGSEGV); do_exit(SIGSEGV);
...@@ -646,7 +644,6 @@ do_entUna(void * va, unsigned long opcode, unsigned long reg, ...@@ -646,7 +644,6 @@ do_entUna(void * va, unsigned long opcode, unsigned long reg,
* Yikes! No one to forward the exception to. * Yikes! No one to forward the exception to.
* Since the registers are in a weird format, dump them ourselves. * Since the registers are in a weird format, dump them ourselves.
*/ */
lock_kernel();
printk("%s(%d): unhandled unaligned exception\n", printk("%s(%d): unhandled unaligned exception\n",
current->comm, task_pid_nr(current)); current->comm, task_pid_nr(current));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册