On Sat, Feb 21, 2015 at 04:53:47PM +0900, Yoshinori Sato wrote: > +resume_userspace: > + andc #0xbf,ccr > + mov.l sp,er4 > + and.w #0xe000,r4 /* er4 <- current thread info */ > + mov.l @(TI_FLAGS:16,er4),er1 > + and.l #_TIF_WORK_MASK,er1 > + beq restore_all:8 > +work_pending: > + btst #TIF_NEED_RESCHED,r1l > + bne work_resched:8 > + /* work notifysig */ > + mov.l sp,er0 > + subs #4,er0 /* er0: pt_regs */ > + jsr @do_notify_resume > + bra restore_all:8 This is wrong. You really need to handle multiple signals; it ought to reload er1 and recheck it (or just branch to resume_userspace instead) -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html