diff options
Diffstat (limited to 'arch/x86/kernel/traps_64.c')
-rw-r--r-- | arch/x86/kernel/traps_64.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/x86/kernel/traps_64.c b/arch/x86/kernel/traps_64.c index 79aa6fc0815c..6d883b13ef4f 100644 --- a/arch/x86/kernel/traps_64.c +++ b/arch/x86/kernel/traps_64.c | |||
@@ -600,7 +600,8 @@ void die(const char * str, struct pt_regs * regs, long err) | |||
600 | oops_end(flags, regs, SIGSEGV); | 600 | oops_end(flags, regs, SIGSEGV); |
601 | } | 601 | } |
602 | 602 | ||
603 | void __kprobes die_nmi(char *str, struct pt_regs *regs, int do_panic) | 603 | notrace __kprobes void |
604 | die_nmi(char *str, struct pt_regs *regs, int do_panic) | ||
604 | { | 605 | { |
605 | unsigned long flags; | 606 | unsigned long flags; |
606 | 607 | ||
@@ -772,7 +773,7 @@ asmlinkage void __kprobes do_general_protection(struct pt_regs * regs, | |||
772 | die("general protection fault", regs, error_code); | 773 | die("general protection fault", regs, error_code); |
773 | } | 774 | } |
774 | 775 | ||
775 | static __kprobes void | 776 | static notrace __kprobes void |
776 | mem_parity_error(unsigned char reason, struct pt_regs * regs) | 777 | mem_parity_error(unsigned char reason, struct pt_regs * regs) |
777 | { | 778 | { |
778 | printk(KERN_EMERG "Uhhuh. NMI received for unknown reason %02x.\n", | 779 | printk(KERN_EMERG "Uhhuh. NMI received for unknown reason %02x.\n", |
@@ -796,7 +797,7 @@ mem_parity_error(unsigned char reason, struct pt_regs * regs) | |||
796 | outb(reason, 0x61); | 797 | outb(reason, 0x61); |
797 | } | 798 | } |
798 | 799 | ||
799 | static __kprobes void | 800 | static notrace __kprobes void |
800 | io_check_error(unsigned char reason, struct pt_regs * regs) | 801 | io_check_error(unsigned char reason, struct pt_regs * regs) |
801 | { | 802 | { |
802 | printk("NMI: IOCK error (debug interrupt?)\n"); | 803 | printk("NMI: IOCK error (debug interrupt?)\n"); |
@@ -810,7 +811,7 @@ io_check_error(unsigned char reason, struct pt_regs * regs) | |||
810 | outb(reason, 0x61); | 811 | outb(reason, 0x61); |
811 | } | 812 | } |
812 | 813 | ||
813 | static __kprobes void | 814 | static notrace __kprobes void |
814 | unknown_nmi_error(unsigned char reason, struct pt_regs * regs) | 815 | unknown_nmi_error(unsigned char reason, struct pt_regs * regs) |
815 | { | 816 | { |
816 | if (notify_die(DIE_NMIUNKNOWN, "nmi", regs, reason, 2, SIGINT) == NOTIFY_STOP) | 817 | if (notify_die(DIE_NMIUNKNOWN, "nmi", regs, reason, 2, SIGINT) == NOTIFY_STOP) |
@@ -827,7 +828,7 @@ unknown_nmi_error(unsigned char reason, struct pt_regs * regs) | |||
827 | 828 | ||
828 | /* Runs on IST stack. This code must keep interrupts off all the time. | 829 | /* Runs on IST stack. This code must keep interrupts off all the time. |
829 | Nested NMIs are prevented by the CPU. */ | 830 | Nested NMIs are prevented by the CPU. */ |
830 | asmlinkage __kprobes void default_do_nmi(struct pt_regs *regs) | 831 | asmlinkage notrace __kprobes void default_do_nmi(struct pt_regs *regs) |
831 | { | 832 | { |
832 | unsigned char reason = 0; | 833 | unsigned char reason = 0; |
833 | int cpu; | 834 | int cpu; |