aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAlexander van Heukelum <heukelum@fastmail.fm>2008-09-09 15:56:18 -0400
committerIngo Molnar <mingo@elte.hu>2008-10-13 04:20:54 -0400
commit07bb2f6236f11169fbd8a8916b16715b25fea9b6 (patch)
tree204cbbd971b8a3e7929b32e9a39ad547c05d4e73 /arch
parenta790392faa3a6138b6e90d0fe320a2829652ce22 (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.c10
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) \
534void do_##name(struct pt_regs *regs, long error_code) \ 534void 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)
860void __kprobes do_int3(struct pt_regs *regs, long error_code) 858void __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 /*