mbox series

[bpf-next,0/2] allow calling kfuncs in normal tracepoint programs

Message ID 20240814235800.15253-1-inwardvessel@gmail.com (mailing list archive)
Headers show
Series allow calling kfuncs in normal tracepoint programs | expand

Message

JP Kobryn Aug. 14, 2024, 11:57 p.m. UTC
It is possible to call a kfunc within a raw tp_btf program but not
possible within a normal tracepoint program. Currently, it seems the
verifier receives -EACCESS from fetch_kfunc_meta() as a result of not
finding any hook within btf_kfunc_id_set_contains().

The first patch exposes the issue (as a selftest) while the second patch
updates the kfunc hook lookup to account for tracepoint programs.

Pre-submission CI run: https://github.com/kernel-patches/bpf/pull/7539

JP Kobryn (2):
  bpf/selftests: coverage for calling kfuncs within tracepoint
  bpf: allow kfuncs within normal tracepoint programs

 kernel/bpf/btf.c                              |  1 +
 .../selftests/bpf/prog_tests/kfunc_in_tp.c    | 34 ++++++++++++++++++
 .../selftests/bpf/progs/test_kfunc_in_tp.c    | 35 +++++++++++++++++++
 3 files changed, 70 insertions(+)
 create mode 100644 tools/testing/selftests/bpf/prog_tests/kfunc_in_tp.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_kfunc_in_tp.c