traps: i386: use preempt_conditional_sti/cli in do_int3
authorAlexander van Heukelum <heukelum@fastmail.fm>
Fri, 3 Oct 2008 20:00:34 +0000 (22:00 +0200)
committerIngo Molnar <mingo@elte.hu>
Mon, 13 Oct 2008 08:33:23 +0000 (10:33 +0200)
Use preempt_conditional_sti/cli in do_int3, like on x86_64.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/traps_32.c

index 2c7ea382771315f95d30f4ea03c06710179f2ce1..67953bbe193d2684be77c18e06b01bb837f06e29 100644 (file)
@@ -477,14 +477,15 @@ dotraplinkage void __kprobes do_int3(struct pt_regs *regs, long error_code)
        if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP)
                        == NOTIFY_STOP)
                return;
-       conditional_sti(regs);
 #else
        if (notify_die(DIE_TRAP, "int3", regs, error_code, 3, SIGTRAP)
                        == NOTIFY_STOP)
                return;
 #endif
 
+       preempt_conditional_sti(regs);
        do_trap(3, SIGTRAP, "int3", regs, error_code, NULL);
+       preempt_conditional_cli(regs);
 }
 
 /*