diff options
Diffstat (limited to 'arch/mips/kernel/traps.c')
-rw-r--r-- | arch/mips/kernel/traps.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index 1a4dd657ccb..36460c7b7cc 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
@@ -352,9 +352,10 @@ void show_registers(const struct pt_regs *regs) | |||
352 | 352 | ||
353 | static DEFINE_SPINLOCK(die_lock); | 353 | static DEFINE_SPINLOCK(die_lock); |
354 | 354 | ||
355 | void __noreturn die(const char * str, const struct pt_regs * regs) | 355 | void __noreturn die(const char * str, struct pt_regs * regs) |
356 | { | 356 | { |
357 | static int die_counter; | 357 | static int die_counter; |
358 | int sig = SIGSEGV; | ||
358 | #ifdef CONFIG_MIPS_MT_SMTC | 359 | #ifdef CONFIG_MIPS_MT_SMTC |
359 | unsigned long dvpret = dvpe(); | 360 | unsigned long dvpret = dvpe(); |
360 | #endif /* CONFIG_MIPS_MT_SMTC */ | 361 | #endif /* CONFIG_MIPS_MT_SMTC */ |
@@ -365,6 +366,10 @@ void __noreturn die(const char * str, const struct pt_regs * regs) | |||
365 | #ifdef CONFIG_MIPS_MT_SMTC | 366 | #ifdef CONFIG_MIPS_MT_SMTC |
366 | mips_mt_regdump(dvpret); | 367 | mips_mt_regdump(dvpret); |
367 | #endif /* CONFIG_MIPS_MT_SMTC */ | 368 | #endif /* CONFIG_MIPS_MT_SMTC */ |
369 | |||
370 | if (notify_die(DIE_OOPS, str, regs, 0, current->thread.trap_no, SIGSEGV) == NOTIFY_STOP) | ||
371 | sig = 0; | ||
372 | |||
368 | printk("%s[#%d]:\n", str, ++die_counter); | 373 | printk("%s[#%d]:\n", str, ++die_counter); |
369 | show_registers(regs); | 374 | show_registers(regs); |
370 | add_taint(TAINT_DIE); | 375 | add_taint(TAINT_DIE); |
@@ -379,7 +384,7 @@ void __noreturn die(const char * str, const struct pt_regs * regs) | |||
379 | panic("Fatal exception"); | 384 | panic("Fatal exception"); |
380 | } | 385 | } |
381 | 386 | ||
382 | do_exit(SIGSEGV); | 387 | do_exit(sig); |
383 | } | 388 | } |
384 | 389 | ||
385 | extern struct exception_table_entry __start___dbe_table[]; | 390 | extern struct exception_table_entry __start___dbe_table[]; |