]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bpf: Remove special_kfunc_set from verifier
authorYonghong Song <yonghong.song@linux.dev>
Fri, 23 May 2025 20:53:21 +0000 (13:53 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 27 May 2025 16:52:56 +0000 (09:52 -0700)
commitd848bba68034847e39b82694be7fabed0e9d0d1e
tree0745e38ab2ded0faa45471827752fdf3b9064f1c
parentdb22b1382b96450967a7289900a22a70f073c9da
bpf: Remove special_kfunc_set from verifier

Currently, the verifier has both special_kfunc_set and special_kfunc_list.
When adding a new kfunc usage to the verifier, it is often confusing
about whether special_kfunc_set or special_kfunc_list or both should
add that kfunc. For example, some kfuncs, e.g., bpf_dynptr_from_skb,
bpf_dynptr_clone, bpf_wq_set_callback_impl, does not need to be
in special_kfunc_set.

To avoid potential future confusion, special_kfunc_set is deleted
and btf_id_set_contains(&special_kfunc_set, ...) is removed.
The code is refactored with a new func check_special_kfunc(),
which contains all codes covered by original branch
  meta.btf == btf_vmlinux && btf_id_set_contains(&special_kfunc_set, meta.func_id)

There is no functionality change.

Signed-off-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/r/20250523205321.1291431-1-yonghong.song@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/bpf/verifier.c