All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oleg Nesterov <oleg@redhat.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Christoph Hellwig <hch@infradead.org>,
	Ingo Molnar <mingo@elte.hu>, Pavel Emelyanov <xemul@openvz.org>,
	Roland McGrath <roland@redhat.com>,
	Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/1] ptrace: do_notify_parent_cldstop: fix the wrong ->nsproxy usage
Date: Mon, 25 May 2009 21:39:32 +0200	[thread overview]
Message-ID: <20090525193932.GA22261@redhat.com> (raw)
In-Reply-To: <20090525185502.GA20781@redhat.com>

On 05/25, Oleg Nesterov wrote:
>
> If the non-traced sub-thread calls do_notify_parent_cldstop(), we send the
> notification to group_leader->real_parent and we report group_leader's pid.
>
> But, if group_leader is traced we use the wrong ->parent->nsproxy->pid_ns,
> the tracer and parent can live in different namespaces. Change the code
> to use "parent" instead of tsk->parent.
>
> Signed-off-by: Oleg Nesterov <oleg@redhat.com>
>
> --- PTRACE/kernel/signal.c~CLDSTOP_NS	2009-05-25 20:24:50.000000000 +0200
> +++ PTRACE/kernel/signal.c	2009-05-25 20:33:37.000000000 +0200
> @@ -1496,7 +1496,7 @@ static void do_notify_parent_cldstop(str
>  	 * see comment in do_notify_parent() abot the following 3 lines
>  	 */
>  	rcu_read_lock();
> -	info.si_pid = task_pid_nr_ns(tsk, tsk->parent->nsproxy->pid_ns);
> +	info.si_pid = task_pid_nr_ns(tsk, parent->nsproxy->pid_ns);


While this change is correct in any case (I hope), I wonder whether
we need another one:

	--- a/kernel/signal.c
	+++ b/kernel/signal.c
	@@ -1483,12 +1483,12 @@ static void do_notify_parent_cldstop(str
		struct task_struct *parent;
		struct sighand_struct *sighand;
	 
	+	if (!task_ptrace(tsk))
	+		tsk = tsk->group_leader;
	+
	+	parent = tsk->real_parent;
		if (task_ptrace(tsk))
			parent = tsk->parent;
	-	else {
	-		tsk = tsk->group_leader;
	-		parent = tsk->real_parent;
	-	}
	 
		info.si_signo = SIGCHLD;
		info.si_errno = 0;

If the sub-thread is not traced, but ->group_leader is, perhaps it makes
more sense to notify the leader's tracer, not parent?

Not that I think this is really important. Just curious about what was
the intent.

Oleg.


  reply	other threads:[~2009-05-25 19:44 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-25 18:55 [PATCH 1/1] ptrace: do_notify_parent_cldstop: fix the wrong ->nsproxy usage Oleg Nesterov
2009-05-25 19:39 ` Oleg Nesterov [this message]
2009-05-27  1:06   ` Roland McGrath
2009-05-27 23:24     ` Oleg Nesterov
2009-05-26 21:05 ` Roland McGrath
2009-05-26 21:33   ` Oleg Nesterov
2009-05-27  0:55     ` Roland McGrath
2009-06-02  4:54       ` Sukadev Bhattiprolu
2009-06-05 15:43         ` naresh kamboju
2009-06-06  0:19           ` Roland McGrath
2009-06-06  6:47           ` open_posix_testsuite: STOP + CONT + wait hang? Oleg Nesterov
2009-06-17  8:35             ` naresh kamboju
2009-06-17 13:29               ` Oleg Nesterov
2009-06-17 14:34                 ` naresh kamboju
2009-05-27 21:32   ` [PATCH 1/1] ptrace: do_notify_parent_cldstop: fix the wrong ->nsproxy usage Oleg Nesterov
2009-05-27 22:23     ` Roland McGrath
2009-05-27 23:12       ` Oleg Nesterov
2009-05-27 23:26         ` Roland McGrath
2009-05-27 23:43           ` Oleg Nesterov
2009-05-27 23:51             ` Roland McGrath
2009-05-28  0:05               ` Oleg Nesterov
2009-06-02  4:48 ` Sukadev Bhattiprolu

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=20090525193932.GA22261@redhat.com \
    --to=oleg@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=roland@redhat.com \
    --cc=sukadev@linux.vnet.ibm.com \
    --cc=xemul@openvz.org \
    /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.