From: Oleg Nesterov <oleg@redhat.com>
To: Tejun Heo <tj@kernel.org>
Cc: Roland McGrath <roland@redhat.com>,
jan.kratochvil@redhat.com,
Denys Vlasenko <vda.linux@googlemail.com>,
linux-kernel@vger.kernel.org, torvalds@linux-foundation.org,
akpm@linux-foundation.org
Subject: Re: [RFC] Proposal for ptrace improvements
Date: Fri, 4 Mar 2011 19:16:30 +0100 [thread overview]
Message-ID: <20110304181630.GA28729@redhat.com> (raw)
In-Reply-To: <20110304082329.GA20499@htj.dyndns.org>
On 03/04, Tejun Heo wrote:
>
> > Tracee:
> >
> > int main(void)
> > {
> > kill(SIGSTOP, getpid());
> >
> > printf("I am running\n");
> >
> > for (;;)
> > ;
> > }
> >
> > To simplify again, suppose that the debugger attaches when it is
> > already stopped, then it does PTRACE_CONT(0).
> >
> > In this case the tracee remains SIGNAL_STOP_STOPPED but prints
> > "I am running" and enters the endless loop.
> >
> > (the new debugger can do PTRACE_SEIZE after that and "return"
> > it to the stopped state without affecting jctl state).
> >
> > Now, if SIGCONT comes (from anywhere) it clears SIGNAL_STOP_STOPPED,
> > the tracee traps and reports this event to debugger.
> >
> > Correct?
>
> * The above requires another ptrace trap site which can probably
> shared with PTRACE_SEIZE.
OK, thanks. I was a bit confused by TASK_TRACED | TASK_STOPPED state
idea. Obviously the state can't be TASK_RUNNING | TASK_STOPPED.
> The question is whether to make group
> stop state available for other trap sites too or just enable it in
> the new trap site. ATM, I'm leaning toward the latter.
Yes.
There is another corner case. Suppose that another SIGSTOP comes
while the tracee runs the endless loop above.
In this case nothing changes, the tracee should report this signal.
But what should it do if the debugger does PTRACE_CONT(SIGSTOP) after
that?
Should it stop and report another job control stop after that, or
should it ignore this signal? In the first case, at least we should
not notify the real parent again. In the latter case, perhaps the
naive debugger can be confused and this differs from the current
behaviour.
And, if it stops, should this also stop other PTRACE_CONT'ed threads
as well? Currently we do...
Not that I think this is terribly important, but I think it makes
sense to discuss/document this case anyway.
Anyway. I think this RFC is fine.
Oleg.
next prev parent reply other threads:[~2011-03-04 18:25 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-01 15:24 [RFC] Proposal for ptrace improvements Tejun Heo
2011-03-01 16:57 ` Denys Vlasenko
2011-03-01 17:09 ` Tejun Heo
2011-03-01 17:12 ` Tejun Heo
2011-03-01 17:21 ` Denys Vlasenko
2011-03-01 18:34 ` Tejun Heo
2011-03-01 23:51 ` Denys Vlasenko
2011-03-02 7:10 ` Tejun Heo
2011-03-02 5:07 ` Indan Zupancic
2011-03-02 7:44 ` Tejun Heo
2011-03-02 11:32 ` Indan Zupancic
2011-03-02 11:52 ` Denys Vlasenko
2011-03-02 14:50 ` Tejun Heo
2011-03-02 13:32 ` Oleg Nesterov
2011-03-03 0:47 ` Indan Zupancic
2011-03-03 1:30 ` Denys Vlasenko
2011-03-03 1:55 ` Indan Zupancic
2011-03-03 7:03 ` Tejun Heo
2011-03-01 19:06 ` Jan Kratochvil
2011-03-01 22:14 ` Denys Vlasenko
2011-03-02 7:28 ` Tejun Heo
2011-03-02 10:58 ` Denys Vlasenko
2011-03-04 16:14 ` Jan Kratochvil
2011-03-04 16:41 ` Denys Vlasenko
2011-03-04 17:07 ` Oleg Nesterov
2011-03-04 18:12 ` Jan Kratochvil
2011-03-05 8:47 ` Tejun Heo
2011-03-01 22:59 ` Denys Vlasenko
2011-03-02 7:32 ` Tejun Heo
2011-03-02 11:02 ` Denys Vlasenko
2011-03-02 11:23 ` Tejun Heo
2011-03-03 19:26 ` Oleg Nesterov
2011-03-01 23:16 ` Denys Vlasenko
2011-03-02 7:37 ` Tejun Heo
2011-03-02 11:21 ` Denys Vlasenko
2011-03-02 11:27 ` Tejun Heo
2011-03-02 11:48 ` Denys Vlasenko
2011-03-02 14:43 ` Tejun Heo
2011-03-02 15:16 ` Denys Vlasenko
2011-03-02 15:25 ` Tejun Heo
2011-03-03 17:34 ` Oleg Nesterov
2011-03-03 20:22 ` Oleg Nesterov
2011-03-04 8:23 ` Tejun Heo
2011-03-04 18:16 ` Oleg Nesterov [this message]
2011-03-05 8:33 ` Tejun Heo
2011-03-04 13:01 ` Denys Vlasenko
2011-03-04 13:41 ` Tejun Heo
2011-03-04 13:59 ` Denys Vlasenko
2011-03-04 14:07 ` Tejun Heo
2011-03-04 14:31 ` Denys Vlasenko
2011-03-04 14:40 ` Tejun Heo
2011-03-04 17:05 ` Denys Vlasenko
2011-03-04 17:12 ` Linus Torvalds
2011-03-04 18:59 ` Denys Vlasenko
2011-03-04 19:24 ` Linus Torvalds
2011-03-04 16:13 ` Oleg Nesterov
2011-03-04 16:30 ` Oleg Nesterov
2011-03-04 8:44 ` Tejun Heo
2011-03-04 16:01 ` Oleg Nesterov
2011-03-04 16:15 ` Tejun Heo
2011-03-04 16:26 ` Oleg Nesterov
2011-03-07 15:08 ` PTRACE_SEIZE/INTERRUPT: " Oleg Nesterov
2011-03-09 9:41 ` Tejun Heo
2011-03-09 17:30 ` Oleg Nesterov
2011-03-07 20:43 ` Roland McGrath
2011-03-09 10:28 ` Tejun Heo
2011-03-10 18:33 ` Steven Rostedt
2011-03-11 8:13 ` Tejun Heo
2011-03-11 8:22 ` Ingo Molnar
2011-03-11 9:35 ` Srikar Dronamraju
2011-03-11 9:43 ` Ingo Molnar
2011-03-14 1:03 ` Frank Ch. Eigler
2011-03-10 15:55 ` Steven Rostedt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110304181630.GA28729@redhat.com \
--to=oleg@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=jan.kratochvil@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=roland@redhat.com \
--cc=tj@kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=vda.linux@googlemail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).