2269988749
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 |
||
---|---|---|
.. | ||
cc_cdg.c | ||
cc_chd.c | ||
cc_cubic.c | ||
cc_cubic.h | ||
cc_dctcp.c | ||
cc_hd.c | ||
cc_htcp.c | ||
cc_module.h | ||
cc_newreno.c | ||
cc_newreno.h | ||
cc_vegas.c | ||
cc.c | ||
cc.h |