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

From: Pedro Alves
Date: Fri May 20 2011 - 05:27:43 EST


On Friday 20 May 2011 10:07:18, Tejun Heo wrote:
> 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.

The point I was trying to raise was not about the order of
execution, but about letting the old pre-nice PTRACE_EVENT_
events quirks stick through.

>
> > 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.

Okay, good to hear that. Looks like the tracer can do:

SEIZE,execve,SETOPTS,'readlink /proc/pid/exe'

and pretend it SEIZED after the execve.

I'm happy for now.

Thanks.

--
Pedro Alves
--
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/