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

From: Tao Chen
Date: Wed Feb 12 2025 - 10:28:31 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:
- v6 -> v7:
- wrap err with libbpf_err
- comments fix
- handle btf_fd < 0 as vmlinux
- patchset Reviewed-by: Jiri Olsa <jolsa@xxxxxxxxxx>
- v6
https://lore.kernel.org/bpf/20250211111859.6029-1-chen.dylane@xxxxxxxxx

- v5 -> v6:
- remove fd_array_cnt
- test case clean code
- v5
https://lore.kernel.org/bpf/20250210055945.27192-1-chen.dylane@xxxxxxxxx

- v4 -> v5:
- use fd_array on stack
- declare the scope of use of btf_fd
- v4
https://lore.kernel.org/bpf/20250206051557.27913-1-chen.dylane@xxxxxxxxx/

- 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 | 19 ++-
tools/lib/bpf/libbpf.map | 1 +
tools/lib/bpf/libbpf_probes.c | 86 +++++++++++---
.../selftests/bpf/prog_tests/libbpf_probes.c | 111 ++++++++++++++++++
4 files changed, 201 insertions(+), 16 deletions(-)

--
2.43.0