On 2024-09-02 18:17 BST, Mykyta Yatsenko wrote: > From: Mykyta Yatsenko <yatsenko@xxxxxxxx> > > Wrong function is used to access the first enum64 element. > Substituting btf_enum(t) with btf_enum64(t) for BTF_KIND_ENUM64. > > Signed-off-by: Mykyta Yatsenko <yatsenko@xxxxxxxx> > --- > tools/bpf/bpftool/btf.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/tools/bpf/bpftool/btf.c b/tools/bpf/bpftool/btf.c > index 6789c7a4d5ca..3b57ba095ab6 100644 > --- a/tools/bpf/bpftool/btf.c > +++ b/tools/bpf/bpftool/btf.c > @@ -561,9 +561,10 @@ static const char *btf_type_sort_name(const struct btf *btf, __u32 index, bool f > case BTF_KIND_ENUM64: { > int name_off = t->name_off; > > - /* Use name of the first element for anonymous enums if allowed */ > - if (!from_ref && !t->name_off && btf_vlen(t)) > - name_off = btf_enum(t)->name_off; > + if (!from_ref && !name_off && btf_vlen(t)) > + name_off = btf_kind(t) == BTF_KIND_ENUM64 ? > + btf_enum64(t)->name_off : > + btf_enum(t)->name_off; > > return btf__name_by_offset(btf, name_off); > } (Please don't forget to tag your patch as a v2.) Looks good, thanks! Acked-by: Quentin Monnet <qmo@xxxxxxxxxx>