diff options
Diffstat (limited to 'arch/i386/kernel/traps.c')
-rw-r--r-- | arch/i386/kernel/traps.c | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c index 282f0bd40dfd..7db664d0b25c 100644 --- a/arch/i386/kernel/traps.c +++ b/arch/i386/kernel/traps.c | |||
@@ -706,13 +706,6 @@ void die_nmi (struct pt_regs *regs, const char *msg) | |||
706 | do_exit(SIGSEGV); | 706 | do_exit(SIGSEGV); |
707 | } | 707 | } |
708 | 708 | ||
709 | static int dummy_nmi_callback(struct pt_regs * regs, int cpu) | ||
710 | { | ||
711 | return 0; | ||
712 | } | ||
713 | |||
714 | static nmi_callback_t nmi_callback = dummy_nmi_callback; | ||
715 | |||
716 | static void default_do_nmi(struct pt_regs * regs) | 709 | static void default_do_nmi(struct pt_regs * regs) |
717 | { | 710 | { |
718 | unsigned char reason = 0; | 711 | unsigned char reason = 0; |
@@ -732,9 +725,10 @@ static void default_do_nmi(struct pt_regs * regs) | |||
732 | */ | 725 | */ |
733 | if (nmi_watchdog_tick(regs, reason)) | 726 | if (nmi_watchdog_tick(regs, reason)) |
734 | return; | 727 | return; |
728 | if (!do_nmi_callback(regs, smp_processor_id())) | ||
735 | #endif | 729 | #endif |
736 | if (!rcu_dereference(nmi_callback)(regs, smp_processor_id())) | ||
737 | unknown_nmi_error(reason, regs); | 730 | unknown_nmi_error(reason, regs); |
731 | |||
738 | return; | 732 | return; |
739 | } | 733 | } |
740 | if (notify_die(DIE_NMI, "nmi", regs, reason, 2, SIGINT) == NOTIFY_STOP) | 734 | if (notify_die(DIE_NMI, "nmi", regs, reason, 2, SIGINT) == NOTIFY_STOP) |
@@ -765,19 +759,6 @@ fastcall void do_nmi(struct pt_regs * regs, long error_code) | |||
765 | nmi_exit(); | 759 | nmi_exit(); |
766 | } | 760 | } |
767 | 761 | ||
768 | void set_nmi_callback(nmi_callback_t callback) | ||
769 | { | ||
770 | vmalloc_sync_all(); | ||
771 | rcu_assign_pointer(nmi_callback, callback); | ||
772 | } | ||
773 | EXPORT_SYMBOL_GPL(set_nmi_callback); | ||
774 | |||
775 | void unset_nmi_callback(void) | ||
776 | { | ||
777 | nmi_callback = dummy_nmi_callback; | ||
778 | } | ||
779 | EXPORT_SYMBOL_GPL(unset_nmi_callback); | ||
780 | |||
781 | #ifdef CONFIG_KPROBES | 762 | #ifdef CONFIG_KPROBES |
782 | fastcall void __kprobes do_int3(struct pt_regs *regs, long error_code) | 763 | fastcall void __kprobes do_int3(struct pt_regs *regs, long error_code) |
783 | { | 764 | { |