i386: trace_hardirqs_fixup should now not be necessary: irqs are off.
authorAlexander van Heukelum <heukelum@fastmail.fm>
Tue, 9 Sep 2008 19:56:18 +0000 (21:56 +0200)
committerIngo Molnar <mingo@elte.hu>
Mon, 13 Oct 2008 08:20:54 +0000 (10:20 +0200)
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>
arch/x86/kernel/traps_32.c

index 8fa8485b49cedfcdfa5c5073b0a8d35d2c07e135..ab55936508993779990ec27e455b74701a539d21 100644 (file)
@@ -533,7 +533,6 @@ vm86_trap:
 #define DO_ERROR(trapnr, signr, str, name)                             \
 void do_##name(struct pt_regs *regs, long error_code)                  \
 {                                                                      \
-       trace_hardirqs_fixup();                                         \
        if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr)  \
                                                        == NOTIFY_STOP) \
                return;                                                 \
@@ -576,7 +575,6 @@ void do_##name(struct pt_regs *regs, long error_code)                       \
        info.si_errno = 0;                                              \
        info.si_code = sicode;                                          \
        info.si_addr = (void __user *)siaddr;                           \
-       trace_hardirqs_fixup();                                         \
        if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr)  \
                                                        == NOTIFY_STOP) \
                return;                                                 \
@@ -860,15 +858,9 @@ void restart_nmi(void)
 void __kprobes do_int3(struct pt_regs *regs, long error_code)
 {
 #ifdef CONFIG_KPROBES
-       trace_hardirqs_fixup();
-
        if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP)
                        == NOTIFY_STOP)
                return;
-       /*
-        * This is an interrupt gate, because kprobes wants interrupts
-        * disabled. Normal trap handlers don't.
-        */
        conditional_sti(regs);
 #else
        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)
        unsigned int condition;
        int si_code;
 
-       trace_hardirqs_fixup();
-
        get_debugreg(condition, 6);
 
        /*