Re: [PATCH 1/2] wait/ptrace: always assume __WALL if the child is traced

Oleg Nesterov <[email protected]>
Newsgroups gmane.linux.kernel,gmane.comp.gdb.devel
Message-ID <[email protected]>
On 10/28, Pedro Alves wrote:
>
> On 10/28/2015 04:11 PM, Oleg Nesterov wrote:
> > On 10/26, Pedro Alves wrote:
> >>
> >> (Also, in the original test case, if the child gets/raises a signal or execs
> >> before exiting, the bash/init/whatever process won't be issuing PTRACE_CONT,
> >> and the child will thus end up stuck (though should be SIGKILLable,
> >
> > Oh, but if it is killable everything is fine. How does this differ from the
> > case when, say, you jusr reparent to init and do kill(getpid(), SIGSTOP) ?
>
> The difference is that if the child called PTRACE_TRACEME, then it goes
> to ptrace-stop instead and no amount of SIGCONT unstucks it -- the only way
> out is force killing.  I agree it's not a major issue as there's a way out
> (and thus made it a parens), but I wouldn't call it nice either.

IOW, the difference is that it is TASK_TRACED, not TASK_STOPPED. I agree,
this is not nice. But this is not nice simply because PTRACE_TRACEME is
not nice.

> >> All this because PTRACE_TRACEME is broken by design
> >
> > Heh. I agree. But we can't fix it now.
>
> Perhaps the man page could document it as deprecated, suggesting
> PTRACE_ATTACH/PTRACE_SEIZE instead?

I don't know. but I won't mind if you mark PTRACE_ATTACH as deprecated
too ;) PTRACE_SEIZE can be used instead and it doesn't abuse SIGSTOP.

Oleg.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.