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.

