2024-02-21 01:23 UTC+0000 ~ thinker.li@xxxxxxxxx > From: Kui-Feng Lee <thinker.li@xxxxxxxxx> > > bpftool is going to reuse this helper function to support shadow types of > struct_ops maps. > > Signed-off-by: Kui-Feng Lee <thinker.li@xxxxxxxxx> > --- > tools/lib/bpf/libbpf.c | 2 +- > tools/lib/bpf/libbpf_internal.h | 1 + > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c > index 01f407591a92..ef8fd20f33ca 100644 > --- a/tools/lib/bpf/libbpf.c > +++ b/tools/lib/bpf/libbpf.c > @@ -2145,7 +2145,7 @@ skip_mods_and_typedefs(const struct btf *btf, __u32 id, __u32 *res_id) > return t; > } > > -static const struct btf_type * > +const struct btf_type * > resolve_func_ptr(const struct btf *btf, __u32 id, __u32 *res_id) > { > const struct btf_type *t; > diff --git a/tools/lib/bpf/libbpf_internal.h b/tools/lib/bpf/libbpf_internal.h > index ad936ac5e639..aec6d57fe5d1 100644 > --- a/tools/lib/bpf/libbpf_internal.h > +++ b/tools/lib/bpf/libbpf_internal.h > @@ -234,6 +234,7 @@ struct btf_type; > struct btf_type *btf_type_by_id(const struct btf *btf, __u32 type_id); > const char *btf_kind_str(const struct btf_type *t); > const struct btf_type *skip_mods_and_typedefs(const struct btf *btf, __u32 id, __u32 *res_id); > +const struct btf_type *resolve_func_ptr(const struct btf *btf, __u32 id, __u32 *res_id); If you respin, please add a comment to mention we expose it to bpftool (see bpf_core_add_cands() in the same file), to avoid people trying to remove it from the header file in a clean-up attempt. Quentin