On 04/23, Eric W. Biederman wrote: > > @@ -3360,20 +3360,8 @@ static struct tgid_iter next_tgid(struct pid_namespace *ns, struct tgid_iter ite > pid = find_ge_pid(iter.tgid, ns); > if (pid) { > iter.tgid = pid_nr_ns(pid, ns); > - iter.task = pid_task(pid, PIDTYPE_PID); > - /* What we to know is if the pid we have find is the > - * pid of a thread_group_leader. Testing for task > - * being a thread_group_leader is the obvious thing > - * todo but there is a window when it fails, due to > - * the pid transfer logic in de_thread. > - * > - * So we perform the straight forward test of seeing > - * if the pid we have found is the pid of a thread > - * group leader, and don't worry if the task we have > - * found doesn't happen to be a thread group leader. > - * As we don't care in the case of readdir. > - */ > - if (!iter.task || !has_group_leader_pid(iter.task)) { > + iter.task = pid_task(pid, PIDTYPE_TGID); > + if (!iter.task) { > iter.tgid += 1; > goto retry; > } Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx>