The reuslt:
$ tools/testing/selftests/bpf/test_progs --name=tracing_btf_ids #467/1 tracing_btf_ids/btf_ids:OK #467 tracing_btf_ids:OK Summary: 1/1 PASSED, 0 SKIPPED, 0 FAILED
Signed-off-by: KaFai Wan mannkafai@gmail.com --- .../selftests/bpf/prog_tests/tracing_btf_ids.c | 16 ++++++++++++++++ .../selftests/bpf/progs/tracing_btf_ids.c | 15 +++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 tools/testing/selftests/bpf/prog_tests/tracing_btf_ids.c create mode 100644 tools/testing/selftests/bpf/progs/tracing_btf_ids.c
diff --git a/tools/testing/selftests/bpf/prog_tests/tracing_btf_ids.c b/tools/testing/selftests/bpf/prog_tests/tracing_btf_ids.c new file mode 100644 index 000000000000..b45b9ac3630c --- /dev/null +++ b/tools/testing/selftests/bpf/prog_tests/tracing_btf_ids.c @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include <test_progs.h> +#include "tracing_btf_ids.skel.h" + +void test_tracing_btf_ids(void) +{ + int btf_id; + + // `migrate_disable` depends on `CONFIG_SMP`, may not exists + btf_id = libbpf_find_vmlinux_btf_id("migrate_disable", BPF_TRACE_FENTRY); + if (btf_id <= 0) + return; + + RUN_TESTS(tracing_btf_ids); +} diff --git a/tools/testing/selftests/bpf/progs/tracing_btf_ids.c b/tools/testing/selftests/bpf/progs/tracing_btf_ids.c new file mode 100644 index 000000000000..92a7f2e9fb89 --- /dev/null +++ b/tools/testing/selftests/bpf/progs/tracing_btf_ids.c @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include <linux/bpf.h> +#include <bpf/bpf_helpers.h> +#include <bpf/bpf_tracing.h> +#include "bpf_misc.h" + +char _license[] SEC("license") = "GPL"; + +SEC("fentry/migrate_disable") +__failure __msg("Attaching tracing to __btf_id function 'migrate_disable' is rejected.") +int BPF_PROG(btf_ids) +{ + return 0; +}