[PATCH] arm: Call do_notify_resume() with interrupts enabled
From: Thomas Gleixner <hidden>
Date: 2011-07-23 17:15:17
From: Thomas Gleixner <hidden>
Date: 2011-07-23 17:15:17
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 <redacted> --- 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?