diff options
author | Jordan Rome <linux@jordanrome.com> | 2024-10-16 23:00:47 +0200 |
---|---|---|
committer | Andrii Nakryiko <andrii@kernel.org> | 2024-10-17 19:52:18 +0200 |
commit | 9495a5b731fcaf580448a3438d63601c88367661 (patch) | |
tree | d960fbc1d14c69b8f6954df74fa7621bbe888ffb /kernel/bpf/task_iter.c | |
parent | riscv, bpf: Make BPF_CMPXCHG fully ordered (diff) | |
download | linux-9495a5b731fcaf580448a3438d63601c88367661.tar.xz linux-9495a5b731fcaf580448a3438d63601c88367661.zip |
bpf: Fix iter/task tid filtering
In userspace, you can add a tid filter by setting
the "task.tid" field for "bpf_iter_link_info".
However, `get_pid_task` when called for the
`BPF_TASK_ITER_TID` type should have been using
`PIDTYPE_PID` (tid) instead of `PIDTYPE_TGID` (pid).
Fixes: f0d74c4da1f0 ("bpf: Parameterize task iterators.")
Signed-off-by: Jordan Rome <linux@jordanrome.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20241016210048.1213935-1-linux@jordanrome.com
Diffstat (limited to '')
-rw-r--r-- | kernel/bpf/task_iter.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/bpf/task_iter.c b/kernel/bpf/task_iter.c index 02aa9db8d796..5af9e130e500 100644 --- a/kernel/bpf/task_iter.c +++ b/kernel/bpf/task_iter.c @@ -99,7 +99,7 @@ static struct task_struct *task_seq_get_next(struct bpf_iter_seq_task_common *co rcu_read_lock(); pid = find_pid_ns(common->pid, common->ns); if (pid) { - task = get_pid_task(pid, PIDTYPE_TGID); + task = get_pid_task(pid, PIDTYPE_PID); *tid = common->pid; } rcu_read_unlock(); |