Forgot to mention in the changelog... In any case this doesn't look right. ->group_leader can exit before other threads, call exit_files(), and in this case task_group_seq_get_next() will check task->files == NULL. On 08/25, Oleg Nesterov wrote: > > Unless I am notally confused it is wrong. We are going to return or > skip next_task so we need to check next_task-files, not task->files. > > Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> > --- > kernel/bpf/task_iter.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/bpf/task_iter.c b/kernel/bpf/task_iter.c > index 1589ec3faded..2264870ae3fc 100644 > --- a/kernel/bpf/task_iter.c > +++ b/kernel/bpf/task_iter.c > @@ -82,7 +82,7 @@ static struct task_struct *task_group_seq_get_next(struct bpf_iter_seq_task_comm > > common->pid_visiting = *tid; > > - if (skip_if_dup_files && task->files == task->group_leader->files) { > + if (skip_if_dup_files && next_task->files == next_task->group_leader->files) { > task = next_task; > goto retry; > } > -- > 2.25.1.362.g51ebf55