Re: ptrace.2: PTRACE_KILL needs a stopped process too

From: Mike Frysinger
Date: Wed May 09 2012 - 16:41:23 EST


On Wednesday 09 May 2012 16:12:19 Oleg Nesterov wrote:
> On 05/09, Pedro Alves wrote:
> > On 05/09/2012 04:09 PM, Mike Frysinger wrote:
> > > probably not that big of a deal, but the reason i like using
> > > ptrace(PTRACE_KILL) over a raw kill() is that you are less likely to
> > > kill the wrong process by accident. maybe not that big of a deal in
> > > practice though.
> >
> > And you can do tgkill instead. It was specifically invented to handle
> > the reuse case.
>
> tgkill() can kill the wrong process/thread too, although it lessens the
> risk.
>
> But I don't really understand the problem. The traced thread can't go away
> until the tracer does wait/detach, and thus its pid can't be reused?

or the process has received a SIGKILL for some reason

> May be, "by accident" above means something else, not pid reuse...

i like to assume that my code isn't going to be bug free, so the more
mechanisms i have in place to protect innocent bystanders the better :)
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.