freebsd-dev/sys/netinet/tcp_stacks
Randall Stewart ba1b3e48f5 tcp: Missing mfree in rack and bbr
Recently (Nov) we added logic that protects against a peer negotiating a timestamp, and
then not including a timestamp. This involved in the input path doing a goto done_with_input
label. Now I suspect the code was cribbed from one in Rack that has to do with the SYN.
This had a bug, i.e. it should have a m_freem(m) before going to the label (bbr had this
missing m_freem() but rack did not). This then caused the missing m_freem to show
up in both BBR and Rack. Also looking at the code referencing m->m_pkthdr.lro_nsegs
later (after processing) is not a good idea, even though its only for logging. Best to
copy that off before any frees can take place.

Reviewed by: mtuexen
Sponsored by: Netflix Inc
Differential Revision:	https://reviews.freebsd.org/D30727
2021-06-11 11:38:08 -04:00
..
bbr.c tcp: Missing mfree in rack and bbr 2021-06-11 11:38:08 -04:00
rack_bbr_common.c [tcp] Keep socket buffer locked until upcall 2021-05-21 11:07:51 +02:00
rack_bbr_common.h This brings into sync FreeBSD with the netflix versions of rack and bbr. 2021-05-06 11:22:26 -04:00
rack.c tcp: Missing mfree in rack and bbr 2021-06-11 11:38:08 -04:00
sack_filter.c Remove all trailing white space from the BBR/Rack fold. Bits 2020-02-12 12:40:06 +00:00
sack_filter.h This commit adds BBR (Bottleneck Bandwidth and RTT) congestion control. This 2019-09-24 18:18:11 +00:00
tcp_bbr.h This brings into sync FreeBSD with the netflix versions of rack and bbr. 2021-05-06 11:22:26 -04:00
tcp_rack.h tcp: Add a socket option to rack so we can test various changes to the slop value in timers. 2021-05-26 06:43:30 -04:00