hc
2024-05-10 748e4f3d702def1a4bff191e0cf93b6a05340f01
kernel/arch/sparc/kernel/traps_32.c
....@@ -18,12 +18,12 @@
1818 #include <linux/smp.h>
1919 #include <linux/kdebug.h>
2020 #include <linux/export.h>
21
+#include <linux/pgtable.h>
2122
2223 #include <asm/delay.h>
2324 #include <asm/ptrace.h>
2425 #include <asm/oplib.h>
2526 #include <asm/page.h>
26
-#include <asm/pgtable.h>
2727 #include <asm/unistd.h>
2828 #include <asm/traps.h>
2929
....@@ -86,9 +86,7 @@
8686 }
8787 printk("Instruction DUMP:");
8888 instruction_dump ((unsigned long *) regs->pc);
89
- if(regs->psr & PSR_PS)
90
- do_exit(SIGKILL);
91
- do_exit(SIGSEGV);
89
+ make_task_dead((regs->psr & PSR_PS) ? SIGKILL : SIGSEGV);
9290 }
9391
9492 void do_hw_interrupt(struct pt_regs *regs, unsigned long type)
....@@ -103,7 +101,7 @@
103101 die_if_kernel("Kernel bad trap", regs);
104102
105103 force_sig_fault(SIGILL, ILL_ILLTRP,
106
- (void __user *)regs->pc, type - 0x80, current);
104
+ (void __user *)regs->pc, type - 0x80);
107105 }
108106
109107 void do_illegal_instruction(struct pt_regs *regs, unsigned long pc, unsigned long npc,
....@@ -327,7 +325,7 @@
327325 printk("Register Access Exception at PC %08lx NPC %08lx PSR %08lx\n",
328326 pc, npc, psr);
329327 #endif
330
- force_sig_fault(SIGBUS, BUS_OBJERR, (void __user *)pc, 0, current);
328
+ force_sig_fault(SIGBUS, BUS_OBJERR, (void __user *)pc, 0);
331329 }
332330
333331 void handle_cp_disabled(struct pt_regs *regs, unsigned long pc, unsigned long npc,