mmacy
6fcaec6a10
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
2018-07-22 05:37:58 +00:00
..
2018-07-22 05:37:58 +00:00
2017-11-27 15:23:17 +00:00
2018-07-11 14:54:56 +00:00
2018-05-23 21:02:14 +00:00
2018-07-18 22:49:53 +00:00
2017-11-27 15:23:17 +00:00
2017-11-27 15:23:17 +00:00
2017-11-27 15:23:17 +00:00
2017-12-29 07:23:18 +00:00
2017-11-20 19:43:44 +00:00
2018-05-18 20:13:34 +00:00
2017-11-20 19:43:44 +00:00
2018-05-02 19:36:29 +00:00
2018-05-23 21:02:14 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2018-05-24 23:21:23 +00:00
2018-06-16 08:26:23 +00:00
2017-02-28 23:42:47 +00:00
2018-07-04 02:47:16 +00:00
2018-04-06 17:35:35 +00:00
2018-01-25 15:35:34 +00:00
2017-11-27 15:23:17 +00:00
2018-07-04 06:47:34 +00:00
2018-07-10 13:03:06 +00:00
2018-07-05 13:13:48 +00:00
2018-06-13 23:19:54 +00:00
2018-04-06 17:35:35 +00:00
2018-05-29 12:32:08 +00:00
2016-02-11 17:07:19 +00:00
2017-11-20 19:43:44 +00:00
2018-05-23 21:02:14 +00:00
2018-07-17 11:33:23 +00:00
2017-11-20 19:43:44 +00:00
2018-07-01 08:37:07 +00:00
2018-07-01 08:37:07 +00:00
2017-11-27 15:23:17 +00:00
2018-07-04 02:47:16 +00:00
2017-11-27 15:23:17 +00:00
2017-11-27 15:23:17 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2018-07-04 02:47:16 +00:00
2018-06-05 20:51:01 +00:00
2018-03-23 16:56:44 +00:00
2018-07-09 11:35:18 +00:00
2018-07-04 02:47:16 +00:00
2018-07-18 22:49:53 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:23:17 +00:00
2018-05-23 21:02:14 +00:00
2018-06-05 20:51:01 +00:00
2017-11-20 19:43:44 +00:00
2018-05-23 21:02:14 +00:00
2017-11-20 19:43:44 +00:00
2018-07-14 23:53:51 +00:00
2018-01-24 05:09:21 +00:00
2018-05-20 00:22:28 +00:00
2018-07-01 08:37:07 +00:00
2018-06-05 20:51:01 +00:00
2017-11-20 19:43:44 +00:00
2018-07-10 08:05:32 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:11:14 +00:00
2018-07-19 20:16:33 +00:00
2018-01-27 13:46:55 +00:00
2018-07-19 20:11:14 +00:00
2017-12-26 12:35:02 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2017-11-20 19:43:44 +00:00
2018-04-06 17:35:35 +00:00
2017-11-20 19:43:44 +00:00
2018-07-19 20:11:14 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2017-11-20 19:43:44 +00:00
2018-07-19 20:11:14 +00:00
2018-07-19 20:16:33 +00:00
2018-05-19 05:56:21 +00:00
2018-07-19 20:11:14 +00:00
2017-11-20 19:43:44 +00:00
2018-07-19 20:16:33 +00:00
2017-11-20 19:43:44 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2018-07-19 20:16:33 +00:00
2018-07-05 17:13:37 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2018-07-10 10:50:43 +00:00
2018-02-26 03:03:41 +00:00
2018-06-23 06:53:53 +00:00
2017-11-27 15:23:17 +00:00
2017-11-27 15:23:17 +00:00
2018-07-04 02:47:16 +00:00
2018-07-04 02:47:16 +00:00
2018-07-10 10:42:48 +00:00
2018-04-10 15:51:37 +00:00
2018-06-07 18:18:13 +00:00
2018-03-09 00:08:43 +00:00
2017-11-27 15:23:17 +00:00
2018-06-23 06:53:53 +00:00
2018-04-03 01:08:54 +00:00
2018-06-23 06:53:53 +00:00
2016-07-06 16:17:13 +00:00
2016-07-06 16:17:13 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2018-04-03 13:54:38 +00:00
2018-07-22 05:37:58 +00:00
2018-06-15 12:28:43 +00:00
2018-06-15 12:28:43 +00:00
2018-07-04 02:47:16 +00:00
2018-07-04 02:47:16 +00:00
2018-07-04 02:47:16 +00:00
2018-07-22 05:37:58 +00:00
2018-07-05 13:13:48 +00:00
2018-06-07 18:18:13 +00:00
2017-11-20 19:43:44 +00:00
2018-04-03 01:08:54 +00:00
2018-04-03 01:08:54 +00:00
2018-07-21 02:14:13 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00