frv: restart_block.fn needs to be reset on sigreturn
Reset restart_block.fn on executing a sigreturn such that any currently pending system call restarts will be forced to return -EINTR. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
31c4a3d3a0
commit
20cd514d0f
|
@ -121,6 +121,9 @@ static int restore_sigcontext(struct sigcontext __user *sc, int *_gr8)
|
||||||
struct user_context *user = current->thread.user;
|
struct user_context *user = current->thread.user;
|
||||||
unsigned long tbr, psr;
|
unsigned long tbr, psr;
|
||||||
|
|
||||||
|
/* Always make any pending restarted system calls return -EINTR */
|
||||||
|
current_thread_info()->restart_block.fn = do_no_restart_syscall;
|
||||||
|
|
||||||
tbr = user->i.tbr;
|
tbr = user->i.tbr;
|
||||||
psr = user->i.psr;
|
psr = user->i.psr;
|
||||||
if (copy_from_user(user, &sc->sc_context, sizeof(sc->sc_context)))
|
if (copy_from_user(user, &sc->sc_context, sizeof(sc->sc_context)))
|
||||||
|
|
Loading…
Reference in New Issue