aboutsummaryrefslogtreecommitdiff
path: root/cddl
diff options
context:
space:
mode:
authorMatt Macy <mmacy@FreeBSD.org>2018-07-22 05:37:58 +0000
committerMatt Macy <mmacy@FreeBSD.org>2018-07-22 05:37:58 +0000
commit2269988749d2e4b8519d32244eaf06e4314eae42 (patch)
treed3ed46f02f41c98c0bcd819289573495c9705de0 /cddl
parent8707733f71a14cf104779b32cc0cb3ed817ae836 (diff)
downloadsrc-2269988749d2e4b8519d32244eaf06e4314eae42.tar.gz
src-2269988749d2e4b8519d32244eaf06e4314eae42.zip
NULL out cc_data in pluggable TCP {cc}_cb_destroy
When ABE was added (rS331214) to NewReno and leak fixed (rS333699) , it now has a destructor (newreno_cb_destroy) for per connection state. Other congestion controls may allocate and free cc_data on entry and exit, but the field is never explicitly NULLed if moving back to NewReno which only internally allocates stateful data (no entry contstructor) resulting in a situation where newreno_cb_destory might be called on a junk pointer. - NULL out cc_data in the framework after calling {cc}_cb_destroy - free(9) checks for NULL so there is no need to perform not NULL checks before calling free. - Improve a comment about NewReno in tcp_ccalgounload This is the result of a debugging session from Jason Wolfe, Jason Eggleston, and mmacy@ and very helpful insight from lstewart@. Submitted by: Kevin Bowling Reviewed by: lstewart Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D16282
Notes
Notes: svn path=/head/; revision=336596
Diffstat (limited to 'cddl')
0 files changed, 0 insertions, 0 deletions