Re: perf_event_pid() (Was: [PATCH] pids: make task_tgid_nr_ns() safe)
From: Peter Zijlstra
Date: Mon Aug 21 2017 - 15:19:04 EST
On Mon, Aug 21, 2017 at 05:36:27PM +0200, Oleg Nesterov wrote:
> On 08/21, Oleg Nesterov wrote:
> >
> > This was reported many times, and this was even mentioned in commit
> > 52ee2dfdd4f5 "pids: refactor vnr/nr_ns helpers to make them safe" but
> > somehow nobody bothered to fix the obvious problem: task_tgid_nr_ns()
> > is not safe because task->group_leader points to nowhere after the
> > exiting task passes exit_notify(), rcu_read_lock() can not help.
>
> Peter,
>
> we already discussed this before, but I can't recall the result...
>
> perf_event_pid() can hit this problem too, with this patch the problem
> goes away but (with or without this patch) we do not want to report zero
> pids to avoid the confusion with idle threads, right?
>
> So do you think the patch below makes sense or we do not care?
Yeah, works for me. While rare I think it makes sense to distinguish
between a recently dead and the idle tasks.