Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block
[sfrench/cifs-2.6.git] / arch / x86_64 / kernel / traps.c
index 8c2ac41187c126aeef9bc0535b3f58d5c3332b3b..7fa155c394d934548df7fedce29d9a554fa5bfbc 100644 (file)
@@ -465,13 +465,14 @@ static unsigned int die_nest_count;
 
 unsigned __kprobes long oops_begin(void)
 {
-       int cpu = smp_processor_id();
+       int cpu;
        unsigned long flags;
 
        oops_enter();
 
        /* racy, but better than risking deadlock. */
        local_irq_save(flags);
+       cpu = smp_processor_id();
        if (!spin_trylock(&die_lock)) { 
                if (cpu == die_owner) 
                        /* nested oops. should stop eventually */;
@@ -530,7 +531,7 @@ void die(const char * str, struct pt_regs * regs, long err)
        unsigned long flags = oops_begin();
 
        if (!user_mode(regs))
-               report_bug(regs->rip);
+               report_bug(regs->rip, regs);
 
        __die(str, regs, err);
        oops_end(flags);
@@ -776,8 +777,6 @@ asmlinkage __kprobes void default_do_nmi(struct pt_regs *regs)
                 */
                if (nmi_watchdog_tick(regs,reason))
                        return;
-               if (notify_die(DIE_NMI_POST, "nmi_post", regs, reason, 2, 0)
-                                                               == NOTIFY_STOP)
                if (!do_nmi_callback(regs,cpu))
                        unknown_nmi_error(reason, regs);