[PATCH] wire up oops_enter()/oops_exit()
authorAndrew Morton <akpm@osdl.org>
Tue, 26 Sep 2006 08:52:36 +0000 (10:52 +0200)
committerAndi Kleen <andi@basil.nowhere.org>
Tue, 26 Sep 2006 08:52:36 +0000 (10:52 +0200)
Implement pause_on_oops() on x86_64.

AK: I redid the patch to do the oops_enter/exit in the existing
oops_begin()/end(). This makes it much shorter.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Andi Kleen <ak@suse.de>
arch/x86_64/kernel/traps.c

index ffc40cff1e07f5405dd031ebf9141fbb29874c36..34660b1e2720d2d7cc4e0e96ff90c7dd0db97868 100644 (file)
@@ -561,6 +561,8 @@ unsigned __kprobes long oops_begin(void)
        int cpu = safe_smp_processor_id();
        unsigned long flags;
 
+       oops_enter();
+
        /* racy, but better than risking deadlock. */
        local_irq_save(flags);
        if (!spin_trylock(&die_lock)) { 
@@ -589,6 +591,7 @@ void __kprobes oops_end(unsigned long flags)
                spin_unlock_irqrestore(&die_lock, flags);
        if (panic_on_oops)
                panic("Fatal exception");
+       oops_exit();
 }
 
 void __kprobes __die(const char * str, struct pt_regs * regs, long err)