mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 08:33:17 +02:00
bpf: Allow verifier to fixup kernel module kfuncs
Allow verifier to fixup kfuncs in kernel module to support kfuncs with __prog arguments. Currently, special kfuncs and kfuncs with __prog arguments are kernel kfuncs. Allowing kernel module kfuncs should not affect existing kfunc fixup as kernel module kfuncs have BTF IDs greater than kernel kfuncs' BTF IDs. Signed-off-by: Amery Hung <ameryhung@gmail.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Acked-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20251203233748.668365-2-ameryhung@gmail.com
This commit is contained in:
parent
81f88f6ab6
commit
1588c81b9f
|
|
@ -22493,8 +22493,7 @@ static int fixup_kfunc_call(struct bpf_verifier_env *env, struct bpf_insn *insn,
|
|||
|
||||
if (!bpf_jit_supports_far_kfunc_call())
|
||||
insn->imm = BPF_CALL_IMM(desc->addr);
|
||||
if (insn->off)
|
||||
return 0;
|
||||
|
||||
if (desc->func_id == special_kfunc_list[KF_bpf_obj_new_impl] ||
|
||||
desc->func_id == special_kfunc_list[KF_bpf_percpu_obj_new_impl]) {
|
||||
struct btf_struct_meta *kptr_struct_meta = env->insn_aux_data[insn_idx].kptr_struct_meta;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user