aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-07-18 15:59:38 +0200
committerSteven Rostedt <rostedt@rostedt.homelinux.com>2012-08-24 22:38:53 -0400
commitdaad36ef25b50ddea27f26041da1e6111c567074 (patch)
tree8dd981b75fc017dcd4eef841e9101fe5bea40203 /arch
parent13abccb92dfd7557706b4fe65370d0446ca2a78b (diff)
x86-32-fix-signal-crap.patch
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/entry_32.S8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S
index bcda8163bb00..426cf512fdef 100644
--- a/arch/x86/kernel/entry_32.S
+++ b/arch/x86/kernel/entry_32.S
@@ -629,7 +629,11 @@ work_notifysig: # deal with pending signals and
jne work_notifysig_v86 # returning to kernel-space or
# vm86-space
xorl %edx, %edx
+ TRACE_IRQS_ON
+ ENABLE_INTERRUPTS(CLBR_NONE)
call do_notify_resume
+ DISABLE_INTERRUPTS(CLBR_ANY)
+ TRACE_IRQS_OFF
jmp resume_userspace_sig
ALIGN
@@ -642,7 +646,11 @@ work_notifysig_v86:
movl %esp, %eax
#endif
xorl %edx, %edx
+ TRACE_IRQS_ON
+ ENABLE_INTERRUPTS(CLBR_NONE)
call do_notify_resume
+ DISABLE_INTERRUPTS(CLBR_ANY)
+ TRACE_IRQS_OFF
jmp resume_userspace_sig
END(work_pending)