diff options
author | Andrew Morton <akpm@osdl.org> | 2006-09-26 10:52:36 +0200 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-09-26 10:52:36 +0200 |
commit | abf0f10948b316b577851ef21c728341f1046552 (patch) | |
tree | 96cdb96a4e668fe3a3e9c88e8158bc371802f4d3 /arch | |
parent | e07e23e1fd3000289fc7ccc6c71879070d3b19e0 (diff) |
[PATCH] wire up oops_enter()/oops_exit()
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86_64/kernel/traps.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c index ffc40cff1e0..34660b1e272 100644 --- a/arch/x86_64/kernel/traps.c +++ b/arch/x86_64/kernel/traps.c @@ -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) |