]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bpf: Search and add kfuncs in struct_ops prologue and epilogue
authorAmery Hung <amery.hung@bytedance.com>
Tue, 25 Feb 2025 23:35:44 +0000 (15:35 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 26 Feb 2025 03:04:43 +0000 (19:04 -0800)
commitd519594ee2445d7cd1ad51f4db4cee58f8213400
treef0bf81c4a496399b93e348967ae9e9f32c246504
parentf3c2d243a36ef23be07bc2bce7c6a5cb6e07d9e3
bpf: Search and add kfuncs in struct_ops prologue and epilogue

Currently, add_kfunc_call() is only invoked once before the main
verification loop. Therefore, the verifier could not find the
bpf_kfunc_btf_tab of a new kfunc call which is not seen in user defined
struct_ops operators but introduced in gen_prologue or gen_epilogue
during do_misc_fixup(). Fix this by searching kfuncs in the patching
instruction buffer and add them to prog->aux->kfunc_tab.

Signed-off-by: Amery Hung <amery.hung@bytedance.com>
Acked-by: Eduard Zingerman <eddyz87@gmail.com>
Acked-by: Martin KaFai Lau <martin.lau@kernel.org>
Link: https://lore.kernel.org/r/20250225233545.285481-1-ameryhung@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/bpf/verifier.c