Page MenuHomeFreeBSD

Fix KASSERT during tcp_newtcpcb when low on memory
ClosedPublic

Authored by rscheff on Jul 6 2020, 9:56 PM.
Tags
None
Referenced Files
F143431859: D25583.id.diff
Fri, Jan 30, 10:09 AM
F143431852: D25583.id.diff
Fri, Jan 30, 10:09 AM
F143427941: D25583.id74144.diff
Fri, Jan 30, 9:14 AM
F143427934: D25583.id74144.diff
Fri, Jan 30, 9:13 AM
F143427927: D25583.id74144.diff
Fri, Jan 30, 9:13 AM
Unknown Object (File)
Fri, Jan 23, 5:46 PM
Unknown Object (File)
Mon, Jan 19, 12:32 PM
Unknown Object (File)
Tue, Jan 13, 9:46 AM
Subscribers

Details

Summary

While testing with system default cc set to cubic, and
running a memory exhaustion validation, FreeBSD panics for a
missing inpcb reference / lock.

Test Plan

Modify modular CC, to return ENOMEM during the _cb_init() function;
load modified CC, and temporarily switch to it as default CC.
Validate that a new session fails with "socket: No buffer space available", instead of a kernel panic (kassert).
Unset the modified CC as default algorithm.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable