X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=arch%2Fx86%2Fkernel%2Ftraps_64.c;h=79aa6fc0815c9e75de806430c5660335bc1cc13e;hb=9732b6112343df2872518ec6701c8ef729310a05;hp=33292ac814f4d676dac432403398f2a7c325fa96;hpb=9e9abecfc0ff3a9ad2ead954b37bbfcb863c775e;p=safe%2Fjmp%2Flinux-2.6 diff --git a/arch/x86/kernel/traps_64.c b/arch/x86/kernel/traps_64.c index 33292ac..79aa6fc 100644 --- a/arch/x86/kernel/traps_64.c +++ b/arch/x86/kernel/traps_64.c @@ -602,8 +602,13 @@ void die(const char * str, struct pt_regs * regs, long err) void __kprobes die_nmi(char *str, struct pt_regs *regs, int do_panic) { - unsigned long flags = oops_begin(); + unsigned long flags; + if (notify_die(DIE_NMIWATCHDOG, str, regs, 0, 2, SIGINT) == + NOTIFY_STOP) + return; + + flags = oops_begin(); /* * We are in trouble anyway, lets at least try * to get a message out. @@ -808,6 +813,8 @@ io_check_error(unsigned char reason, struct pt_regs * regs) static __kprobes void unknown_nmi_error(unsigned char reason, struct pt_regs * regs) { + if (notify_die(DIE_NMIUNKNOWN, "nmi", regs, reason, 2, SIGINT) == NOTIFY_STOP) + return; printk(KERN_EMERG "Uhhuh. NMI received for unknown reason %02x.\n", reason); printk(KERN_EMERG "Do you have a strange power saving mode enabled?\n");