Messages in this thread | | | Date | Fri, 20 May 2011 11:07:18 +0200 | From | Tejun Heo <> | Subject | Re: [PATCH 03/10] ptrace: implement PTRACE_SEIZE |
| |
Hello, Pedro.
On Fri, May 20, 2011 at 12:00:17AM +0100, Pedro Alves wrote: > > > UUIC, that opens a race where between SEIZEing and > > > SETOPTIONS(O_TRACE FORK|VFORK|EXEC...), the tracee can > > > fork/vfork/clone/exec, without the tracer getting the > > > nice corresponding PTRACE_EVENT_ events.
Does it matter? The order of execution isn't even well defined without synchronization border. If you want full synchronization, you can INTERRUPT tracee.
> SEIZE,execvd,INTERRUPT (SETOPTS on interrupt) > > will make the tracer see a SIGTRAP that > > execvd,SEIZE,INTERRUPT > > nor > > SEIZE,SETOPTS,execvd (SETOPTS on interrupt) > > would cause, isn't it?
Yes, SIGTRAP on exec(2) is nasty but also is scheduled to be removed if SEIZED.
> Now, if it were possible for the tracer to set the > default OPTS _before_ PTRACE_ATTACH/PTRACE_SEIZE...
I don't see why that would be necessary.
Thanks.
-- tejun
| |