Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests/bpf: Use bpf_tracing.h instead of bpf_tcp_helpers.h

The bpf programs that this patch changes require the BPF_PROG macro.
The BPF_PROG macro is defined in the libbpf's bpf_tracing.h.
Some tests include bpf_tcp_helpers.h which includes bpf_tracing.h.
They don't need other things from bpf_tcp_helpers.h other than
bpf_tracing.h. This patch simplifies it by directly including
the bpf_tracing.h.

The motivation of this unnecessary code churn is to retire
the bpf_tcp_helpers.h by directly using vmlinux.h. Right now,
the main usage of the bpf_tcp_helpers.h is the partial kernel
socket definitions (e.g. socket, sock, tcp_sock). While the test
cases continue to grow, fields are kept adding to those partial
socket definitions (e.g. the recent bpf_cc_cubic.c test which
tried to extend bpf_tcp_helpers.c but eventually used the
vmlinux.h instead).

The idea is to retire bpf_tcp_helpers.c and consistently use
vmlinux.h for the tests that require the kernel sockets. This
patch tackles the obvious tests that can directly use bpf_tracing.h
instead of bpf_tcp_helpers.h.

Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20240504005045.848376-1-martin.lau@linux.dev

authored by

Martin KaFai Lau and committed by
Andrii Nakryiko
8e6d9ae2 a9e7715c

+5 -4
+2 -1
tools/testing/selftests/bpf/progs/timer.c
··· 2 2 /* Copyright (c) 2021 Facebook */ 3 3 #include <linux/bpf.h> 4 4 #include <time.h> 5 + #include <stdbool.h> 5 6 #include <errno.h> 6 7 #include <bpf/bpf_helpers.h> 7 - #include "bpf_tcp_helpers.h" 8 + #include <bpf/bpf_tracing.h> 8 9 9 10 char _license[] SEC("license") = "GPL"; 10 11 struct hmap_elem {
+1 -1
tools/testing/selftests/bpf/progs/timer_failure.c
··· 5 5 #include <time.h> 6 6 #include <errno.h> 7 7 #include <bpf/bpf_helpers.h> 8 + #include <bpf/bpf_tracing.h> 8 9 #include "bpf_misc.h" 9 - #include "bpf_tcp_helpers.h" 10 10 11 11 char _license[] SEC("license") = "GPL"; 12 12
+1 -1
tools/testing/selftests/bpf/progs/timer_mim.c
··· 4 4 #include <time.h> 5 5 #include <errno.h> 6 6 #include <bpf/bpf_helpers.h> 7 - #include "bpf_tcp_helpers.h" 7 + #include <bpf/bpf_tracing.h> 8 8 9 9 char _license[] SEC("license") = "GPL"; 10 10 struct hmap_elem {
+1 -1
tools/testing/selftests/bpf/progs/timer_mim_reject.c
··· 4 4 #include <time.h> 5 5 #include <errno.h> 6 6 #include <bpf/bpf_helpers.h> 7 - #include "bpf_tcp_helpers.h" 7 + #include <bpf/bpf_tracing.h> 8 8 9 9 char _license[] SEC("license") = "GPL"; 10 10 struct hmap_elem {