On 4/24/2025 11:32 PM, Brandon Kammerdiener wrote: > Hi, > > This patchset fixes an endless loop condition that can occur in > bpf_for_each_hash_elem, causing the core to softlock. My understanding is > that a combination of RCU list deletion and insertion introduces the new > element after the iteration cursor and that there is a chance that an RCU > reader may in fact use this new element in iteration. The patch uses a > _safe variant of the macro which gets the next element to iterate before > executing the loop body for the current element. > > I have also added a subtest in the for_each selftest that can trigger this > condition without the fix. > > Changes since v2: > - Renaming and additional checks in selftests/bpf/prog_tests/for_each.c > > Changes since v1: > - Added missing Signed-off-by lines to both patches > > Thanks, > Brandon Kammerdiener Acked-by: Hou Tao <houtao1@xxxxxxxxxx>