Executive brief
A race condition was identified in the Linux kernel's networking component that handles local communication (AF_UNIX). This flaw could cause the system's internal memory cleanup process to malfunction when multiple tasks are running simultaneously. While primarily a technical stability issue, it could potentially lead to unexpected system behavior or resource management errors during high-load networking operations.
Technical details
A race condition exists in net/unix/garbage.c where unix_gc() could execute with the 'gc_in_progress' flag set to false. This occurs when multiple threads call unix_schedule_gc() simultaneously, leading to a scenario where a subsequent garbage collection pass begins before the previous one has correctly updated the state flags. The unix_peek_fpl() function relies on this flag to avoid interference from MSG_PEEK operations; if the flag is incorrect, the garbage collector may become 'confused' by concurrent socket peeking. The fix involves explicitly setting gc_in_progress to true within the __unix_gc() worker to ensure state consistency across scheduled work items.
Affected products
- Linux Linux Kernel 6.1.141 to 6.2; 6.6.93 to 6.6.144; 6.9 and later versions before 7.1
Timeline
- 2026-07-04: advisory
- 2026-07-04: disclosed