Commit 80eb4a6f authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

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: default avatarArnd Bergmann <arnd@arndb.de>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Matt Turner <mattst88@gmail.com>
Cc: linux-alpha@vger.kernel.org
parent 6117d213
Loading
Loading
Loading
Loading
+0 −5
Original line number Original line Diff line number Diff line
@@ -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,
{
{
	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,
	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,
	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,
		error = -EOPNOTSUPP;
		error = -EOPNOTSUPP;
		break;
		break;
	};
	};
	unlock_kernel();
	return error;
	return error;
}
}


+0 −3
Original line number Original line Diff line number Diff line
@@ -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,
		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,
	 * 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));