summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-07-18 15:59:38 +0200
committerClark Williams <williams@redhat.com>2012-02-15 10:32:35 -0600
commitefd9ab23ddc330c363c1498c281699706972c40a (patch)
tree8b3e9bb76c66b854616d52409c8f618b0f34a8df
parentc5e1ec83adb9c7705f54fd522842ca0bc16c3650 (diff)
x86-32-fix-signal-crap.patch
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-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 f3f6f5344001..3e660d2cebb6 100644
--- a/arch/x86/kernel/entry_32.S
+++ b/arch/x86/kernel/entry_32.S
@@ -626,7 +626,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
@@ -639,7 +643,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)