[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110625134350.GU30101@htj.dyndns.org>
Date: Sat, 25 Jun 2011 15:43:50 +0200
From: Tejun Heo <tj@...nel.org>
To: Oleg Nesterov <oleg@...hat.com>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
vda.linux@...glemail.com, jan.kratochvil@...hat.com,
pedro@...esourcery.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/3] ptrace: ptrace_reparented() should check
same_thread_group()
Hello,
On Fri, Jun 24, 2011 at 05:34:06PM +0200, Oleg Nesterov wrote:
> exit_notify: we should respect ->exit_signal if the exiting leader
> is traced by any thread from the parent thread group. It is the
> child of the whole group, and we are going to send the signal to
> the whole group.
This seems correct.
> wait_task_zombie: without __WNOTHREAD do_wait() should do the same
> for any thread, only sys_ptrace() is "bound" to the single thread.
> However do_wait(WEXITED) succeeds but does not release a traced
> natural child unless the caller is the tracer.
>
> Test-case:
...
> Note that the main thread simply does
>
> pid = fork();
> kill(pid, SIGKILL);
>
> and then without the patch wait4(WEXITED) succeeds twice and reports
> WTERMSIG(stat) == SIGKILL.
This latter one is interesting to say the least. Yes, wait(2) is
process-wide operation and should behave identically when for all
threads in the same process.
> Signed-off-by: Oleg Nesterov <oleg@...hat.com>
This patch involves very subtle behavior change when the tracer is
multi-threaded && real parent of the tracee. Slightly worrisome but
it is a bug fix and extremely fringe, so...
Acked-by: Tejun Heo <tj@...nel.org>
Thanks.
--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists