Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2deba1bd authored by Al Viro's avatar Al Viro Committed by Matt Turner
Browse files

alpha: belated ERESTART_RESTARTBLOCK race fix



same thing as had been done on other targets back in 2003 -
move setting ->restart_block.fn into {rt_,}sigreturn().

Tested-by: default avatarMichael Cree <mcree@orcon.net.nz>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
parent bdc8b891
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -239,6 +239,8 @@ restore_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs,
	unsigned long usp;
	long i, err = __get_user(regs->pc, &sc->sc_pc);

	current_thread_info()->restart_block.fn = do_no_restart_syscall;

	sw->r26 = (unsigned long) ret_from_sys_call;

	err |= __get_user(regs->r0, sc->sc_regs+0);
@@ -591,7 +593,6 @@ syscall_restart(unsigned long r0, unsigned long r19,
		regs->pc -= 4;
		break;
	case ERESTART_RESTARTBLOCK:
		current_thread_info()->restart_block.fn = do_no_restart_syscall;
		regs->r0 = EINTR;
		break;
	}