From: Oleg Nesterov <oleg@redhat.com>
To: Tejun Heo <tj@kernel.org>
Cc: Denys Vlasenko <vda.linux@googlemail.com>,
jan.kratochvil@redhat.com, linux-kernel@vger.kernel.org,
torvalds@linux-foundation.org, akpm@linux-foundation.org,
indan@nul.nu, bdonlan@gmail.com
Subject: Re: [PATCH 10/10] ptrace: implement group stop notification for ptracer
Date: Mon, 23 May 2011 15:34:26 +0200 [thread overview]
Message-ID: <20110523133426.GC7232@redhat.com> (raw)
In-Reply-To: <20110520085921.GB31426@htj.dyndns.org>
On 05/20, Tejun Heo wrote:
>
> 1. A process has two threads t1 and t2. t1 is ptraced by p1. Both t1
> and t2 are running.
>
> 2. p1 INTERRUPTs t1. t1 enters TRAP_STOP and p1 notices it.
>
> 3. Something else sends SIGSTOP to t2 which initiates group stop.
>
> 4. As t1 re-traps to notify p1 of group stop, p1 issues PTRACE_CONT.
>
> 5. PTRACE_CONT succeeds right after t1 re-traps for notification and
> t1 resumes execution.
IOW. The root of the problem is that TASK_TRACED no longer means the
tracee is stopped, it can change its state and the "volatile" info
in si_pt_flags reflects this fact.
This makes me nervous ;) Yes, we hide the TRACED->RUNNING->TRACED
transitions, and I have to agree that the proposed API looks consistent
to me. Still, can't we do this differently ? (see another email).
Oleg.
next prev parent reply other threads:[~2011-05-23 13:36 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-16 18:17 [PATCHSET ptrace] ptrace: implement PTRACE_SEIZE/INTERRUPT and group stop notification, take#2 Tejun Heo
2011-05-16 18:17 ` [PATCH 01/10] signal: remove three noop tracehooks Tejun Heo
2011-05-17 16:22 ` Christoph Hellwig
2011-05-17 16:27 ` Tejun Heo
2011-05-18 18:45 ` Oleg Nesterov
2011-05-19 12:11 ` Tejun Heo
2011-05-19 16:10 ` Oleg Nesterov
2011-05-16 18:17 ` [PATCH 02/10] job control: introduce JOBCTL_TRAP_STOP and use it for group stop trap Tejun Heo
2011-05-18 16:48 ` Oleg Nesterov
2011-05-18 16:57 ` Oleg Nesterov
2011-05-19 10:19 ` Tejun Heo
2011-05-19 16:19 ` Oleg Nesterov
2011-05-16 18:17 ` [PATCH 03/10] ptrace: implement PTRACE_SEIZE Tejun Heo
2011-05-18 0:40 ` Denys Vlasenko
2011-05-18 9:55 ` Tejun Heo
2011-05-18 10:44 ` Denys Vlasenko
2011-05-18 11:14 ` Tejun Heo
2011-05-19 14:17 ` Tejun Heo
2011-05-19 15:02 ` Tejun Heo
2011-05-19 19:31 ` Pedro Alves
2011-05-19 22:42 ` Denys Vlasenko
2011-05-19 23:00 ` Pedro Alves
2011-05-20 1:44 ` Denys Vlasenko
2011-05-20 8:56 ` Pedro Alves
2011-05-20 9:12 ` Tejun Heo
2011-05-20 9:07 ` Tejun Heo
2011-05-20 9:27 ` Pedro Alves
2011-05-20 9:31 ` Tejun Heo
2011-05-24 9:49 ` Pedro Alves
2011-05-24 12:00 ` Tejun Heo
2011-05-24 12:36 ` Pedro Alves
2011-05-24 14:02 ` Tejun Heo
2011-05-24 14:55 ` Pedro Alves
2011-05-25 18:18 ` Oleg Nesterov
2011-05-26 9:10 ` Tejun Heo
2011-05-26 10:01 ` Pedro Alves
2011-05-26 10:11 ` Tejun Heo
2011-05-26 14:55 ` Oleg Nesterov
2011-05-23 13:09 ` Oleg Nesterov
2011-05-23 12:43 ` Oleg Nesterov
2011-05-24 10:28 ` Tejun Heo
2011-05-25 18:29 ` Oleg Nesterov
2011-05-26 9:14 ` Tejun Heo
2011-05-26 15:01 ` Oleg Nesterov
2011-05-27 18:21 ` Tejun Heo
2011-05-30 19:22 ` Oleg Nesterov
[not found] ` <BANLkTimupSd774N-VBoswOj+Dza=5ofvWQ@mail.gmail.com>
2011-05-31 19:08 ` Oleg Nesterov
2011-05-31 21:32 ` Linus Torvalds
2011-06-01 20:04 ` Oleg Nesterov
2011-06-01 5:34 ` Tejun Heo
2011-06-01 20:08 ` Oleg Nesterov
2011-06-02 5:01 ` Tejun Heo
2011-05-18 18:17 ` Oleg Nesterov
2011-05-19 10:34 ` Tejun Heo
2011-05-16 18:17 ` [PATCH 04/10] ptrace: implement PTRACE_INTERRUPT Tejun Heo
2011-05-18 18:38 ` Oleg Nesterov
2011-05-19 12:07 ` Tejun Heo
2011-05-19 16:21 ` Oleg Nesterov
2011-05-16 18:17 ` [PATCH 05/10] ptrace: restructure ptrace_getsiginfo() Tejun Heo
2011-05-16 18:17 ` [PATCH 06/10] ptrace: add siginfo.si_pt_flags Tejun Heo
2011-05-16 18:17 ` [PATCH 07/10] ptrace: make group stop state visible via PTRACE_GETSIGINFO Tejun Heo
2011-05-19 16:27 ` Oleg Nesterov
2011-05-19 16:40 ` Tejun Heo
2011-05-16 18:17 ` [PATCH 08/10] ptrace: don't let PTRACE_SETSIGINFO override __SI_TRAP siginfo Tejun Heo
2011-05-16 18:17 ` [PATCH 09/10] ptrace: add JOBCTL_BLOCK_NOTIFY Tejun Heo
2011-05-19 16:32 ` Oleg Nesterov
2011-05-19 16:44 ` Tejun Heo
2011-05-19 16:48 ` Oleg Nesterov
2011-05-19 16:58 ` Tejun Heo
2011-05-16 18:17 ` [PATCH 10/10] ptrace: implement group stop notification for ptracer Tejun Heo
2011-05-19 16:32 ` Oleg Nesterov
2011-05-19 16:57 ` Tejun Heo
2011-05-19 17:13 ` Oleg Nesterov
2011-05-19 22:48 ` Denys Vlasenko
2011-05-20 8:59 ` Tejun Heo
2011-05-23 13:34 ` Oleg Nesterov [this message]
2011-05-20 8:46 ` Tejun Heo
2011-05-19 16:58 ` Oleg Nesterov
2011-05-23 11:45 ` Oleg Nesterov
2011-05-24 13:44 ` Tejun Heo
2011-05-24 15:44 ` Tejun Heo
2011-05-26 14:44 ` Oleg Nesterov
2011-05-28 7:32 ` Tejun Heo
2011-05-18 18:50 ` [PATCHSET ptrace] ptrace: implement PTRACE_SEIZE/INTERRUPT and group stop notification, take#2 Oleg Nesterov
2011-05-19 12:08 ` Tejun Heo
2011-05-19 15:04 ` Linus Torvalds
2011-05-19 15:19 ` Tejun Heo
2011-05-19 22:45 ` Denys Vlasenko
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=20110523133426.GC7232@redhat.com \
--to=oleg@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=bdonlan@gmail.com \
--cc=indan@nul.nu \
--cc=jan.kratochvil@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.