hexagon: ->restart_block.fn needs to be reset on rt_sigreturn

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2012-04-22 03:31:24 -04:00
parent 2a3fdc117c
commit ef9b122f32

View File

@ -294,6 +294,9 @@ asmlinkage int sys_rt_sigreturn(void)
struct rt_sigframe __user *frame; struct rt_sigframe __user *frame;
sigset_t blocked; sigset_t blocked;
/* Always make any pending restarted system calls return -EINTR */
current_thread_info()->restart_block.fn = do_no_restart_syscall;
frame = (struct rt_sigframe __user *)pt_psp(regs); frame = (struct rt_sigframe __user *)pt_psp(regs);
if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) if (!access_ok(VERIFY_READ, frame, sizeof(*frame)))
goto badframe; goto badframe;