patch-2.4.0-test6 linux/arch/sparc64/kernel/traps.c

Next file: linux/arch/sparc64/mm/fault.c
Previous file: linux/arch/sparc64/kernel/sys_sunos32.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test5/linux/arch/sparc64/kernel/traps.c linux/arch/sparc64/kernel/traps.c
@@ -1,4 +1,4 @@
-/* $Id: traps.c,v 1.66 2000/05/09 17:40:14 davem Exp $
+/* $Id: traps.c,v 1.67 2000/07/30 23:12:24 davem Exp $
  * arch/sparc64/kernel/traps.c
  *
  * Copyright (C) 1995,1997 David S. Miller (davem@caip.rutgers.edu)
@@ -255,7 +255,6 @@
 {
 	siginfo_t info;
 
-	lock_kernel ();
 	if (lvl < 0x100) {
 		char buffer[24];
 		
@@ -270,17 +269,14 @@
 	info.si_addr = (void *)regs->tpc;
 	info.si_trapno = lvl - 0x100;
 	force_sig_info(SIGILL, &info, current);
-	unlock_kernel ();
 }
 
 void bad_trap_tl1 (struct pt_regs *regs, long lvl)
 {
 	char buffer[24];
 	
-	lock_kernel();
 	sprintf (buffer, "Bad trap %lx at tl>0", lvl);
 	die_if_kernel (buffer, regs);
-	unlock_kernel();
 }
 
 void instruction_access_exception (struct pt_regs *regs,
@@ -288,7 +284,6 @@
 {
 	siginfo_t info;
 
-	lock_kernel();
 	if (regs->tstate & TSTATE_PRIV) {
 #if 1
 		printk("instruction_access_exception: Shit SFSR[%016lx] SFAR[%016lx], going.\n",
@@ -302,7 +297,6 @@
 	info.si_addr = (void *)regs->tpc;
 	info.si_trapno = 0;
 	force_sig_info(SIGSEGV, &info, current);
-	unlock_kernel();
 }
 
 void data_access_exception (struct pt_regs *regs,
@@ -343,9 +337,7 @@
 	info.si_code = SEGV_MAPERR;
 	info.si_addr = (void *)sfar;
 	info.si_trapno = 0;
-	lock_kernel();
 	force_sig_info(SIGSEGV, &info, current);
-	unlock_kernel();
 }
 
 #ifdef CONFIG_PCI
@@ -389,9 +381,7 @@
 	info.si_code = BUS_OBJERR;
 	info.si_addr = (void *)0;
 	info.si_trapno = 0;
-	lock_kernel();
 	force_sig_info(SIGBUS, &info, current);
-	unlock_kernel();
 }
 
 void do_dae(struct pt_regs *regs)
@@ -692,7 +682,6 @@
 	smp_report_regs();
 #endif
                                                 	
-	lock_kernel(); /* Or else! */
 	if(regs->tstate & TSTATE_PRIV)
 		do_exit(SIGKILL);
 	do_exit(SIGSEGV);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)