summaryrefslogtreecommitdiff
path: root/samples/bpf/test_current_task_under_cgroup.bpf.c
diff options
context:
space:
mode:
authorJinghao Jia <jinghao@linux.ibm.com>2023-09-17 16:42:20 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-11-28 17:19:48 +0000
commitde4825a444560f8cb78b03dda3ba873fab88bc4f (patch)
tree7fff122f0b474a1a58d682cb4e1004d65372d457 /samples/bpf/test_current_task_under_cgroup.bpf.c
parent948189f679ac9820c57c7801d592442b7d122972 (diff)
samples/bpf: syscall_tp_user: Fix array out-of-bound access
[ Upstream commit 9220c3ef6fefbf18f24aeedb1142a642b3de0596 ] Commit 06744f24696e ("samples/bpf: Add openat2() enter/exit tracepoint to syscall_tp sample") added two more eBPF programs to support the openat2() syscall. However, it did not increase the size of the array that holds the corresponding bpf_links. This leads to an out-of-bound access on that array in the bpf_object__for_each_program loop and could corrupt other variables on the stack. On our testing QEMU, it corrupts the map1_fds array and causes the sample to fail: # ./syscall_tp prog #0: map ids 4 5 verify map:4 val: 5 map_lookup failed: Bad file descriptor Dynamically allocate the array based on the number of programs reported by libbpf to prevent similar inconsistencies in the future Fixes: 06744f24696e ("samples/bpf: Add openat2() enter/exit tracepoint to syscall_tp sample") Signed-off-by: Jinghao Jia <jinghao@linux.ibm.com> Signed-off-by: Ruowen Qin <ruowenq2@illinois.edu> Signed-off-by: Jinghao Jia <jinghao7@illinois.edu> Link: https://lore.kernel.org/r/20230917214220.637721-4-jinghao7@illinois.edu Signed-off-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'samples/bpf/test_current_task_under_cgroup.bpf.c')
0 files changed, 0 insertions, 0 deletions