Commit 296f376f authored by David Mosberger's avatar David Mosberger

ia64: From Linus/Paulus: reset restart_block function in

	restore_sigcontext().  Also update ia32 subsystem accordingly.
parent 9c2a4aeb
...@@ -720,6 +720,9 @@ restore_sigcontext_ia32 (struct pt_regs *regs, struct sigcontext_ia32 *sc, int * ...@@ -720,6 +720,9 @@ restore_sigcontext_ia32 (struct pt_regs *regs, struct sigcontext_ia32 *sc, int *
{ {
unsigned int err = 0; unsigned int err = 0;
/* Always make any pending restarted system calls return -EINTR */
current_thread_info()->restart_block.fn = do_no_restart_syscall;
if (!access_ok(VERIFY_READ, sc, sizeof(*sc))) if (!access_ok(VERIFY_READ, sc, sizeof(*sc)))
return(-EFAULT); return(-EFAULT);
......
...@@ -115,6 +115,9 @@ restore_sigcontext (struct sigcontext *sc, struct sigscratch *scr) ...@@ -115,6 +115,9 @@ restore_sigcontext (struct sigcontext *sc, struct sigscratch *scr)
unsigned long ip, flags, nat, um, cfm; unsigned long ip, flags, nat, um, cfm;
long err; long err;
/* Always make any pending restarted system calls return -EINTR */
current_thread_info()->restart_block.fn = do_no_restart_syscall;
/* restore scratch that always needs gets updated during signal delivery: */ /* restore scratch that always needs gets updated during signal delivery: */
err = __get_user(flags, &sc->sc_flags); err = __get_user(flags, &sc->sc_flags);
err |= __get_user(nat, &sc->sc_nat); err |= __get_user(nat, &sc->sc_nat);
...@@ -559,9 +562,6 @@ ia64_do_signal (sigset_t *oldset, struct sigscratch *scr, long in_syscall) ...@@ -559,9 +562,6 @@ ia64_do_signal (sigset_t *oldset, struct sigscratch *scr, long in_syscall)
ka = &current->sighand->action[signr - 1]; ka = &current->sighand->action[signr - 1];
/* Always make any pending restarted system calls return -EINTR */
current_thread_info()->restart_block.fn = do_no_restart_syscall;
if (restart) { if (restart) {
switch (errno) { switch (errno) {
case ERESTART_RESTARTBLOCK: case ERESTART_RESTARTBLOCK:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment