Page MenuHomeFreeBSD

sockets/tcp: quick fix for regression with SO_REUSEPORT_LB
ClosedPublic

Authored by glebius on Jan 27 2025, 10:34 PM.
Tags
None
Referenced Files
F151243345: D48703.diff
Tue, Apr 7, 2:03 AM
F151241464: D48703.id150055.diff
Tue, Apr 7, 1:48 AM
F151240223: D48703.id150057.diff
Tue, Apr 7, 1:39 AM
F151208699: D48703.id150056.diff
Mon, Apr 6, 8:37 PM
Unknown Object (File)
Wed, Apr 1, 8:31 AM
Unknown Object (File)
Sun, Mar 22, 12:40 PM
Unknown Object (File)
Sun, Mar 22, 1:40 AM
Unknown Object (File)
Fri, Mar 20, 1:21 PM
Subscribers

Details

Summary

There was a long living problem that pr_listen is called every time on
consecutive listen(2) syscalls. Up until today it produces spurious TCP
state change events in tracing software and other harmless problems. But
with 7cbb6b6e28db we started to call LIST_REMOVE() twice on the same
entry.

This is quite ugly, but quick and robuse fix against regression, that we
decided to put in the scope of the January stabilization week. A better
refactoring will happen later.

Fixes: 7cbb6b6e28db33095a1cf7a8887921a5ec969824

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 62073
Build 58957: arc lint + arc unit