Re: [PATCH v4 03/15] h8300: Exception and Interrupt handling

From: Al Viro
Date: Sat Feb 21 2015 - 04:58:23 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/