> From: Masami Hiramatsu (Google) <[email protected]> > > 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. > > Fixes: 302db0f5b3d8 ("tracing/probes: Add a function to search a member of a > struct/union") > Cc: [email protected] > Reported-by: Sashiko <[email protected]> > Closes: > https://lore.kernel.org/all/[email protected]/ > Signed-off-by: Masami Hiramatsu (Google) <[email protected]>
Sashiko has reviewed this patch and found no issues. It looks great! -- Sashiko AI review ยท https://sashiko.dev/#/patchset/178827248631.123716.2627172171811720261.stgit@devnote2?part=1
