summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorJordan Rome <linux@jordanrome.com>2024-10-16 14:00:47 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-11-01 01:58:25 +0100
commitbb0f943675a9cf1d6b13bd94a13b63a7063a6d36 (patch)
tree1d3b5a1f250e19b688a0946fbad2d93014c1f296 /kernel
parent4ed32cc0939b64e3d7b48c8c0d63ea038775f304 (diff)
downloadlinux-bb0f943675a9cf1d6b13bd94a13b63a7063a6d36.tar.gz
linux-bb0f943675a9cf1d6b13bd94a13b63a7063a6d36.tar.bz2
linux-bb0f943675a9cf1d6b13bd94a13b63a7063a6d36.zip
bpf: Fix iter/task tid filtering
[ Upstream commit 9495a5b731fcaf580448a3438d63601c88367661 ] 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 Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/bpf/task_iter.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/bpf/task_iter.c b/kernel/bpf/task_iter.c
index c4ab9d6cdbe9..f7ef58090c7d 100644
--- a/kernel/bpf/task_iter.c
+++ b/kernel/bpf/task_iter.c
@@ -119,7 +119,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();