path: root/sys/netinet/tcp_stacks/sack_filter.c
diff options
authorRandall Stewart <rrs@FreeBSD.org>2021-06-11 15:38:08 +0000
committerMichael Tuexen <tuexen@FreeBSD.org>2021-06-14 21:00:17 +0000
commitd0eaf95edcafcaeebfbc3ce9f361e98914830a49 (patch)
tree1a065d2420cdc637b7fe1a536ebbdbd7a9e8a7c7 /sys/netinet/tcp_stacks/sack_filter.c
parent8ecbecdcfdb082dc4056a9d627d5de2ed7eceda4 (diff)
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 (cherry picked from commit ba1b3e48f5be320f0590bc357ea53fdc3e4edc65)
Diffstat (limited to 'sys/netinet/tcp_stacks/sack_filter.c')
0 files changed, 0 insertions, 0 deletions