On Tue, Oct 25, 2016 at 04:41:26PM +0200, Oleg Nesterov wrote:
> >
> > So what serialization would close that race? __task_pid_nr_ns() only
> > seems to use RCU nothing more.
> 
> I do not see how can we close this race, we obviously do not want to use
> any locking.
> 
> That is why I tried to suggest
> 
>       nr = __task_pid_nr_ns(p, type, event->ns);
>       if (!nr && !is_idle_task(p))
>               nr = -1;
>       return nr;
> 
> but this will report -1 if p runs in another namespace, so perhaps we
> can do
> 
>       nr = __task_pid_nr_ns(p, type, event->ns);
>       if (!nr && p->exit_state)
>               // it has already called exit_notify
>               nr = -1;
>       return nr;

I think I'm asking how __task_pid_nr_ns() isn't susceptible to this race
;-)

Reply via email to