Re: [PATCH v3 2/3] x86/signal: Rewire the restart_block() syscall to have a constant nr
From: Oleg Nesterov
Date: Thu Jun 23 2016 - 17:20:35 EST
So I think this series is fine, yesterday I misread it completely.
On 06/20, Andy Lutomirski wrote:
>
> Suppose a 64-bit task A traces a 32-bit task B.
And even if they are both 64-bit ...
> B makes a syscall
> that uses ERESTART_RESTARTBLOCK and gets a signal. A catches
> syscall exit, snapshots B's regs, changes the regs, and resumes.
> Then A restores the snapshot of B's regs.
perhaps in this case gdb should always turn ERESTART_RESTARTBLOCK
into EINTR, because we can't know if B->restart_block is still the
same; it can be changed if the tracee does another RESTARTBLOCK
syscall after the first resume.
But anyway the patch looks good to me.
Oleg.