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

Al Viro
2015-02-21T09:58:13Z

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)