[PATCH] arm: Call do_notify_resume() with interrupts enabled
Thomas Gleixner
tglx at linutronix.de
Sat Jul 23 13:15:17 EDT 2011
When a signal is delivered from do_notify_resume() __put_user() is
currently called with interrupts disabled.
When the access faults then the fault code trips over the interrupts
disabled check in might_sleep(). No biscuit!
Enable interrupts before calling do_notify_resume().
Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
---
arch/arm/kernel/entry-common.S | 1 +
1 file changed, 1 insertion(+)
Index: linux-2.6/arch/arm/kernel/entry-common.S
===================================================================
--- linux-2.6.orig/arch/arm/kernel/entry-common.S
+++ linux-2.6/arch/arm/kernel/entry-common.S
@@ -49,6 +49,7 @@ work_pending:
bne work_resched
tst r1, #_TIF_SIGPENDING|_TIF_NOTIFY_RESUME
beq no_work_pending
+ enable_irq
mov r0, sp @ 'regs'
mov r2, why @ 'syscall'
tst r1, #_TIF_SIGPENDING @ delivering a signal?
More information about the linux-arm-kernel
mailing list