diff options
author | Alexander van Heukelum <heukelum@fastmail.fm> | 2008-09-09 15:56:18 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-13 04:20:54 -0400 |
commit | 07bb2f6236f11169fbd8a8916b16715b25fea9b6 (patch) | |
tree | 204cbbd971b8a3e7929b32e9a39ad547c05d4e73 /arch | |
parent | a790392faa3a6138b6e90d0fe320a2829652ce22 (diff) |
i386: trace_hardirqs_fixup should now not be necessary: irqs are off.
The exception handlers in entry_32.S should now all call
TRACE_IRQS_OFF before calling the C code. The calls to
trace_hardirqs_fixup should now be unnecessary. Remove them.
Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/traps_32.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/arch/x86/kernel/traps_32.c b/arch/x86/kernel/traps_32.c index 8fa8485b49ce..ab5593650899 100644 --- a/arch/x86/kernel/traps_32.c +++ b/arch/x86/kernel/traps_32.c | |||
@@ -533,7 +533,6 @@ vm86_trap: | |||
533 | #define DO_ERROR(trapnr, signr, str, name) \ | 533 | #define DO_ERROR(trapnr, signr, str, name) \ |
534 | void do_##name(struct pt_regs *regs, long error_code) \ | 534 | void do_##name(struct pt_regs *regs, long error_code) \ |
535 | { \ | 535 | { \ |
536 | trace_hardirqs_fixup(); \ | ||
537 | if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) \ | 536 | if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) \ |
538 | == NOTIFY_STOP) \ | 537 | == NOTIFY_STOP) \ |
539 | return; \ | 538 | return; \ |
@@ -576,7 +575,6 @@ void do_##name(struct pt_regs *regs, long error_code) \ | |||
576 | info.si_errno = 0; \ | 575 | info.si_errno = 0; \ |
577 | info.si_code = sicode; \ | 576 | info.si_code = sicode; \ |
578 | info.si_addr = (void __user *)siaddr; \ | 577 | info.si_addr = (void __user *)siaddr; \ |
579 | trace_hardirqs_fixup(); \ | ||
580 | if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) \ | 578 | if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) \ |
581 | == NOTIFY_STOP) \ | 579 | == NOTIFY_STOP) \ |
582 | return; \ | 580 | return; \ |
@@ -860,15 +858,9 @@ void restart_nmi(void) | |||
860 | void __kprobes do_int3(struct pt_regs *regs, long error_code) | 858 | void __kprobes do_int3(struct pt_regs *regs, long error_code) |
861 | { | 859 | { |
862 | #ifdef CONFIG_KPROBES | 860 | #ifdef CONFIG_KPROBES |
863 | trace_hardirqs_fixup(); | ||
864 | |||
865 | if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP) | 861 | if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP) |
866 | == NOTIFY_STOP) | 862 | == NOTIFY_STOP) |
867 | return; | 863 | return; |
868 | /* | ||
869 | * This is an interrupt gate, because kprobes wants interrupts | ||
870 | * disabled. Normal trap handlers don't. | ||
871 | */ | ||
872 | conditional_sti(regs); | 864 | conditional_sti(regs); |
873 | #else | 865 | #else |
874 | if (notify_die(DIE_TRAP, "int3", regs, error_code, 3, SIGTRAP) | 866 | if (notify_die(DIE_TRAP, "int3", regs, error_code, 3, SIGTRAP) |
@@ -907,8 +899,6 @@ void __kprobes do_debug(struct pt_regs *regs, long error_code) | |||
907 | unsigned int condition; | 899 | unsigned int condition; |
908 | int si_code; | 900 | int si_code; |
909 | 901 | ||
910 | trace_hardirqs_fixup(); | ||
911 | |||
912 | get_debugreg(condition, 6); | 902 | get_debugreg(condition, 6); |
913 | 903 | ||
914 | /* | 904 | /* |