[PATCH dwarves v1 0/3] btf_encoder: support for BPF magic kernel functions

Ihor Solodrai
2025-10-29T19:03:04Z

This series implements BTF encoding of BPF kernel functions marked
with KF_MAGIC_ARGS flag in pahole.

The kfunc flag indicates that the arguments of a kfunc with __magic
suffix are implicitly set by the verifier, and so pahole must emit two
functions to BTF:
* kfunc_impl() with the arguments matching kernel declaration
* kfunc() with __magic arguments omitted

For more details see relevant patch series for BPF:
"bpf: magic kernel functions"

This series is built upon KF_IMPLICIT_PROG_AUX_ARG support [1],
although the approach changed signifcantly to call it a v2.

[1] https://lore.kernel.org/dwarves/20250924211512.1287298-1-ihor.solodrai@linux.dev/

Ihor Solodrai (3):
btf_encoder: refactor btf_encoder__add_func_proto
btf_encoder: factor out btf_encoder__add_bpf_kfunc()
btf_encoder: support kfuncs with KF_MAGIC_ARGS flag

btf_encoder.c | 292 ++++++++++++++++++++++++++++++++++++++------------
1 file changed, 222 insertions(+), 70 deletions(-)

--
2.51.1