diff options
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 ffc40cff1e07..34660b1e2720 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) | |||
561 | int cpu = safe_smp_processor_id(); | 561 | int cpu = safe_smp_processor_id(); |
562 | unsigned long flags; | 562 | unsigned long flags; |
563 | 563 | ||
564 | oops_enter(); | ||
565 | |||
564 | /* racy, but better than risking deadlock. */ | 566 | /* racy, but better than risking deadlock. */ |
565 | local_irq_save(flags); | 567 | local_irq_save(flags); |
566 | if (!spin_trylock(&die_lock)) { | 568 | if (!spin_trylock(&die_lock)) { |
@@ -589,6 +591,7 @@ void __kprobes oops_end(unsigned long flags) | |||
589 | spin_unlock_irqrestore(&die_lock, flags); | 591 | spin_unlock_irqrestore(&die_lock, flags); |
590 | if (panic_on_oops) | 592 | if (panic_on_oops) |
591 | panic("Fatal exception"); | 593 | panic("Fatal exception"); |
594 | oops_exit(); | ||
592 | } | 595 | } |
593 | 596 | ||
594 | void __kprobes __die(const char * str, struct pt_regs * regs, long err) | 597 | void __kprobes __die(const char * str, struct pt_regs * regs, long err) |