[PATCH bpf-next v4 0/4] Add prog_kfunc feature probe

From: Tao Chen
Date: Thu Feb 06 2025 - 00:18:24 EST


More and more kfunc functions are being added to the kernel.
Different prog types have different restrictions when using kfunc.
Therefore, prog_kfunc probe is added to check whether it is supported,
and the use of this api will be added to bpftool later.

Change list:
- v3 -> v4:
- add fd_array init for kfunc in mod btf
- add test case for kfunc in mod btf
- refactor common part as prog load type check for
libbpf_probe_bpf_{helper,kfunc}
- v3
https://lore.kernel.org/bpf/20250124144411.13468-1-chen.dylane@xxxxxxxxx

- v2 -> v3:
- rename parameter off with btf_fd
- extract the common part for libbpf_probe_bpf_{helper,kfunc}
- v2
https://lore.kernel.org/bpf/20250123170555.291896-1-chen.dylane@xxxxxxxxx

- v1 -> v2:
- check unsupported prog type like probe_bpf_helper
- add off parameter for module btf
- check verifier info when kfunc id invalid
- v1
https://lore.kernel.org/bpf/20250122171359.232791-1-chen.dylane@xxxxxxxxx

Tao Chen (4):
libbpf: Extract prog load type check from libbpf_probe_bpf_helper
libbpf: Init fd_array when prog probe load
libbpf: Add libbpf_probe_bpf_kfunc API
selftests/bpf: Add libbpf_probe_bpf_kfunc API selftests

tools/lib/bpf/libbpf.h | 18 ++-
tools/lib/bpf/libbpf.map | 1 +
tools/lib/bpf/libbpf_probes.c | 91 ++++++++++++--
.../selftests/bpf/prog_tests/libbpf_probes.c | 118 ++++++++++++++++++
4 files changed, 214 insertions(+), 14 deletions(-)

--
2.43.0