Page MenuHomeFreeBSD

Sanity check of SACK holes on retransmissions
ClosedPublic

Authored by rscheff on Jun 2 2022, 4:55 PM.
Tags
None
Referenced Files
F87285137: D35387.id106580.diff
Mon, Jul 1, 6:28 AM
F87284000: D35387.id106713.diff
Mon, Jul 1, 6:02 AM
F87283875: D35387.id106711.diff
Mon, Jul 1, 5:59 AM
F87283857: D35387.id106712.diff
Mon, Jul 1, 5:59 AM
F87283666: D35387.id106581.diff
Mon, Jul 1, 5:55 AM
F87282985: D35387.id106575.diff
Mon, Jul 1, 5:42 AM
Unknown Object (File)
Sat, Jun 29, 2:13 AM
Unknown Object (File)
May 29 2024, 1:21 AM

Details

Summary

Adding a few KASSERT() to validate sanity of sack holes, and bail out if sack hole is inconsistent to avoid panicing non-invariant builds.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

sys/netinet/tcp_sack.c
968

Don't you need to use the SEQ macros for this?

sys/netinet/tcp_sack.c
976

Maybe print something in non-debug case?

sys/netinet/tcp_sack.c
976

When printing them using %d, don't some of them show up as negative numbers? Would %u make more sense?

  • use SEQ_LT / GEQ macros
  • add logging

Thanks. Commiting with 1 week MFC...

This revision was not accepted when it landed; it landed in state Needs Review.Jun 7 2022, 7:41 AM
This revision was automatically updated to reflect the committed changes.