diff options
Diffstat (limited to 'kernel/bpf/task_iter.c')
| -rw-r--r-- | kernel/bpf/task_iter.c | 18 | 
1 files changed, 9 insertions, 9 deletions
| diff --git a/kernel/bpf/task_iter.c b/kernel/bpf/task_iter.c index e73c07593024..3efe38191d1c 100644 --- a/kernel/bpf/task_iter.c +++ b/kernel/bpf/task_iter.c @@ -37,7 +37,7 @@ retry:  		if (!task) {  			++*tid;  			goto retry; -		} else if (skip_if_dup_files && task->tgid != task->pid && +		} else if (skip_if_dup_files && !thread_group_leader(task) &&  			   task->files == task->group_leader->files) {  			put_task_struct(task);  			task = NULL; @@ -151,14 +151,14 @@ again:  		curr_task = info->task;  		curr_fd = info->fd;  	} else { -		curr_task = task_seq_get_next(ns, &curr_tid, true); -		if (!curr_task) { -			info->task = NULL; -			return NULL; -		} - -		/* set info->task and info->tid */ -		info->task = curr_task; +                curr_task = task_seq_get_next(ns, &curr_tid, true); +                if (!curr_task) { +                        info->task = NULL; +                        info->tid = curr_tid; +                        return NULL; +                } + +                /* set info->task and info->tid */  		if (curr_tid == info->tid) {  			curr_fd = info->fd;  		} else { |