On Sat, Dec 18, 2021 at 8:33 PM Kumar Kartikeya Dwivedi <memxor@xxxxxxxxx> wrote: > > It is, but into parent_ref_obj_id, to match during release_reference. > > > Shouldn't r2 get a different ref_obj_id after r2 = r1->next ? > > It's ref_obj_id is still 0. > > Thinking about this more, we actually only need 1 extra bit of information in > reg_state, not even a new member. We can simply copy ref_obj_id and set this > bit, then we can reject this register during release but consider it during > release_reference. It seems to me that this patch created the problem and it's trying to fix it at the same time. mark_btf_ld_reg() shouldn't be copying ref_obj_id. If it keeps it as zero the problem will not happen, no?