On 04/02, Eric W. Biederman wrote:
>
> Oleg Nesterov <[email protected]> writes:
>
> > And btw zap_other_threads(may_hang == 0) is racy. Either you need tasklist 
> > or
> > exit_notify() should set tsk->exit_state under siglock, otherwise zap() can
> > return the wrong count.
>
> zap_other_thread(tsk, 0) only gets called in the case where we don't
> care about the return value.  It does not get called from fs/exec.c

I meant that may_hang == 0 implies zap_other_threads(do_count => -1) which 
should
return the number of threads which didn't pass exit_notify(). The returned value
can be wrong unless you change exit_notify() to set exit_state under siglock.

Oleg.

Reply via email to