38 lines
1017 B
Diff
38 lines
1017 B
Diff
Subject: x86-32-fix-signal-crap.patch
|
|
From: Thomas Gleixner <tglx@linutronix.de>
|
|
Date: Mon, 18 Jul 2011 15:59:38 +0200
|
|
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
---
|
|
arch/x86/kernel/entry_32.S | 8 ++++++++
|
|
1 file changed, 8 insertions(+)
|
|
|
|
Index: linux-3.2/arch/x86/kernel/entry_32.S
|
|
===================================================================
|
|
--- linux-3.2.orig/arch/x86/kernel/entry_32.S
|
|
+++ linux-3.2/arch/x86/kernel/entry_32.S
|
|
@@ -626,7 +626,11 @@ work_notifysig: # deal with pending s
|
|
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)
|
|
|