Re: [PATCH 03/10] ptrace: implement PTRACE_SEIZE

From: Tejun Heo
Date: Fri May 20 2011 - 05:07:30 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/