Re: Why I want PTRACE_O_TRACESTOP option

From: Indan Zupancic
Date: Fri Sep 09 2011 - 19:10:11 EST


On Fri, September 9, 2011 18:26, Oleg Nesterov wrote:
> On 09/09, Indan Zupancic wrote:
>>
>> It is very useful to set options atomically at SEIZE time.
>
> Nobody argues with this.
>
>> Another important reason to make PTRACE_O_TRACESTOP an option is
>> because not everyone uses SEIZE: Users using PTRACE_TRACEME can't
>> set this option at all.
>
> Yes. This was already discussed, PTRACE_TRACEME obviously doesn't
> work if you need the new features. So far it was decided TRACEME
> should be avoided,

How do you want to attach/seize a just forked child without races
in a less ugly way than with TRACEME?

> but perhaps we can add SEIZE_ME. And, unlike
> TRACEME it should probably stop immediately to simplify the
> synchronization with parent. Afaik, any user of TRACEME does
> something like kill(getpid(), SIGSTOP), this doesn't look very
> good.

I let the child send a SIGTERM to itself, so if anything goes wrong
it terminates. It's only needed because you have to set options.

>
> But personally I'd prefer to avoid SEIZE_ME.

Me too. There is no need for it if PTRACE_O_TRACESTOP exists.

Alternatively, if you do want to add it, just allow PTRACE_SEIZE
with zero/own PID to achieve the same.

Greetings,

Indan


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