Re: [PATCH bpf-next v1 0/8] resolve_btfids: Discover kfuncs from BTF ID sets
Alan Maguire <[email protected]> Thu, 30 Jul 2026 13:38:46 +0100
| Newsgroups | org.kernel.vger.linux-input,org.kernel.vger.bpf |
|---|---|
| Message-ID | <[email protected]> |
On 23/07/2026 00:35, Ihor Solodrai wrote: > This series develops resolve_btfids in preparation for bringing > kernel-specific BTF transformations in tree, which will reduce kbuild > dependency on pahole's features. > > resolve_btfids currently identifies kfuncs by reading the "bpf_kfunc" > decl tags pahole emits into vmlinux BTF. The series switches the > source of truth to the BTF ID sets registered with > BTF_KFUNCS_START()/END() in the kernel, which is the mechanism BPF > verifier uses. > > The series is based on patches #5 and #6 from the original > "resolve_btfids: Implement BTF tags emission for kfuncs" series [1], > and includes a few significant additions. Particularly the build time > enforcement of kfunc flags consistency [2]. > > The series consists of: > - patches #1-#3 implement supporting infrastructure for the proper > kfunc discovery and deduplication > - patches #4-#5 expose btf__find_by_name_kind_own() and use it to > fix a latent bug in _impl func lookup > - patch #6 fixes inconsistent kfunc flags for HID kfuncs > - patch #7 implements kfunc discovery from BTF ID sets > - patch #8 adds enforcement of kfunc flags consistency > > The resolve_btfids selftests patches have landed earlier [3]. I tested these changes and all looks good, so feel free to add Tested-by: Alan Maguire <[email protected]> to the series. > > [1] https://lore.kernel.org/bpf/[email protected]/ > [2] https://lore.kernel.org/bpf/[email protected]/ > [3] https://lore.kernel.org/bpf/[email protected]/ > > --- > > Changes compared to [1]: > - Drop the idempotency (ensure_*) machinery: assume valid input BTF (Andrii) > - Use rbtree to store the kfuncs (Andrii) > - Enforce full KF_* flag consistency as a build error (Eduard) > - Various cleanups and nits (Andrii, Emil, Jiri) > > --- > > Ihor Solodrai (8): > resolve_btfids: Implement generic ensure_mem() to grow arrays > resolve_btfids: Index BTF ID symbols by address > resolve_btfids: Keep collected kfuncs in a rbtree > libbpf: Export btf__find_by_name_kind_own() > resolve_btfids: Fix the _impl lookup for module BTF > HID: bpf: Make syscall kfunc flags match the struct_ops set > resolve_btfids: Discover kfuncs from BTF ID sets > resolve_btfids: Enforce consistent kfunc flags across BTF ID sets > > drivers/hid/bpf/hid_bpf_dispatch.c | 10 +- > tools/bpf/resolve_btfids/main.c | 275 ++++++++++++++++++----------- > tools/lib/bpf/btf.h | 2 + > tools/lib/bpf/libbpf.map | 1 + > tools/lib/bpf/libbpf_internal.h | 2 - > 5 files changed, 181 insertions(+), 109 deletions(-) >