Page MenuHomeFreeBSD

tcp: prevent spurious empty segments and fix uncommon panic
ClosedPublic

Authored by rscheff on Jan 6 2024, 1:18 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Oct 22, 5:16 AM
Unknown Object (File)
Tue, Oct 22, 5:16 AM
Unknown Object (File)
Tue, Oct 22, 5:16 AM
Unknown Object (File)
Tue, Oct 22, 5:03 AM
Unknown Object (File)
Sep 27 2024, 3:14 PM
Unknown Object (File)
Sep 19 2024, 1:11 AM
Unknown Object (File)
Sep 18 2024, 6:25 AM
Unknown Object (File)
Sep 17 2024, 1:42 PM
Subscribers

Details

Summary

When receiving pure ACKs for previously sent data,
but no more data is available in the send buffer,
an spurious empty ACK would frequently be sent instead.

In the case of a retransmitted SYN not being sent due to
an internal error, the snd_una/snd_nxt accounting could
be off, leading to a panic. Pulling snd_nxt up to snd_una
prevents this from happening.

Reported by: fengdreamer@126.com

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 55271
Build 52160: arc lint + arc unit