> Split __register_btf_kfunc_id_set(), register_btf_id_dtor_kfuncs() and
> __register_bpf_struct_ops() into the part that looks up the BTF for the
> owner and the part that adds the registration to a given BTF:
> btf_kfunc_id_set_add(), btf_dtor_kfuncs_add() and
> btf_struct_ops_register().
> 
> In is_valid_value_type(), look up bpf_struct_ops_common_value in the btf
> the function was given rather than in the btf_vmlinux global.  The id is
> a vmlinux id and a module BTF resolves it through its base, so the result
> is the same; the function already uses the passed btf for every other
> lookup.
> 
> No functional change.  With CONFIG_DEBUG_INFO_BTF=m, registrations made
> from initcalls before the vmlinux BTF is available are queued and applied
> later by the BTF parsing code, which needs the add-to-this-btf half on
> its own; the struct_ops ones are applied before the parsed vmlinux BTF is
> published, i.e. while btf_vmlinux is still NULL.
> 
> Signed-off-by: Jay Wang <[email protected]>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/[email protected]?part=2


Reply via email to