Message ID | alpine.LFD.2.02.1107231914050.2702@ionos (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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?
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@linutronix.de> --- arch/arm/kernel/entry-common.S | 1 + 1 file changed, 1 insertion(+)