Re: [PATCH 1/2] tracing/probes: Fix anon_stack check for unnamed bitfields in btf_find_struct_member
From: Google
Date: Mon Aug 31 2026 - 20:47:19 EST
On Mon, 31 Aug 2026 13:01:33 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> On Tue, 1 Sep 2026 00:06:05 +0900
> "Masami Hiramatsu (Google)" <mhiramat@xxxxxxxxxx> wrote:
>
> > From: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
> >
> > btf_find_struct_member() traverses into nested anonymous structures
> > and unions by pushing members with !member->name_off onto anon_stack.
> > However, it does not consider the unnamed bitfields (e.g. `int : 5`
> > or `unsigned int : 0`) which also have member->name_off == 0.
> >
> > If such an unnamed bitfield is pushed to anon_stack, the
> > btf_find_struct_member() return an error even if there are other
> > valid entries in anon_stack.
> >
> > To fix this, only push unnamed struct/union members to anon_stack.
> > Also move the btf_type_is_struct() check to the entry of this function
> > because now it is sure only struct/union are pushed to anon_stack.
> >
>
> Should we add Reported-by and a link to the Sashiko report?
Ah, good point! Let me add it (and I forgot Cc: stable)
>
> > Fixes: 302db0f5b3d8 ("tracing/probes: Add a function to search a member of a struct/union")
> > Signed-off-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
>
> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Thanks!
>
> -- Steve
--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>