diff options
author | Alexei Starovoitov <ast@kernel.org> | 2024-06-12 11:01:32 -0700 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2024-06-12 11:01:32 -0700 |
commit | 4ff5747158f323939e2ce8881ca61f3c646948c4 (patch) | |
tree | 93fefc8047f6a553b4e4ce76b3a5e5dab71b444d /net/bpf | |
parent | 98b303c9bf05dae932efbd71e18d81f6c64f20d8 (diff) | |
parent | 770abbb5a25a5b767f1c60ba366aea503728e957 (diff) |
Merge branch 'bpf-support-dumping-kfunc-prototypes-from-btf'
Daniel Xu says:
====================
bpf: Support dumping kfunc prototypes from BTF
This patchset enables both detecting as well as dumping compilable
prototypes for kfuncs.
The first commit instructs pahole to DECL_TAG kfuncs when available.
This requires v1.27 which was released on 6/11/24. With it, users will
be able to look at BTF inside vmlinux (or modules) and check if the
kfunc they want is available.
The final commit teaches bpftool how to dump kfunc prototypes. This
is done for developer convenience.
The rest of the commits are fixups to enable selftests to use the
newly dumped kfunc prototypes. With these, selftests will regularly
exercise the newly added codepaths.
Tested with and without the required pahole changes:
* https://github.com/kernel-patches/bpf/pull/7186
* https://github.com/kernel-patches/bpf/pull/7187
=== Changelog ===
From v4:
* Change bpf_session_cookie() return type
* Only fixup used fentry test kfunc prototypes
* Extract out projection detection into shared btf_is_projection_of()
* Fix kernel test robot build warnings about doc comments
From v3:
* Teach selftests to use dumped prototypes
From v2:
* Update Makefile.btf with pahole flag
* More error checking
* Output formatting changes
* Drop already-merged commit
From v1:
* Add __weak annotation
* Use btf_dump for kfunc prototypes
* Update kernel bpf_rdonly_cast() signature
====================
Link: https://lore.kernel.org/r/cover.1718207789.git.dxu@dxuuu.xyz
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'net/bpf')
0 files changed, 0 insertions, 0 deletions