WANG Cong
d747a7a51b
tcp: reset sk_rx_dst in tcp_disconnect()
...
We have to reset the sk->sk_rx_dst when we disconnect a TCP
connection, because otherwise when we re-connect it this
dst reference is simply overridden in tcp_finish_connect().
This fixes a dst leak which leads to a loopback dev refcnt
leak. It is a long-standing bug, Kevin reported a very similar
(if not same) bug before. Thanks to Andrei for providing such
a reliable reproducer which greatly narrows down the problem.
Fixes: 41063e9dd119 ("ipv4: Early TCP socket demux.")
Reported-by: Andrei Vagin <avagin@gmail.com>
Reported-by: Kevin Xu <kaiwen.xu@hulu.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-06-25 12:23:07 -04:00
..
2017-05-01 10:47:53 -04:00
2017-06-04 22:56:55 -04:00
2017-01-16 12:57:48 +01:00
2017-05-25 13:38:20 -04:00
2017-02-04 19:44:22 -05:00
2017-04-17 15:35:38 -04:00
2017-04-19 07:48:57 +02:00
2017-05-04 07:27:26 +02:00
2017-05-16 14:54:11 -04:00
2017-03-10 09:45:09 -08:00
2017-03-16 10:18:34 -07:00
2017-05-26 14:57:07 -04:00
2017-05-16 14:54:11 -04:00
2016-10-30 12:42:58 -04:00
2016-06-30 05:03:36 -04:00
2016-10-20 14:32:22 -04:00
2017-06-14 15:33:58 -04:00
2017-06-20 15:51:57 -04:00
2017-05-09 15:17:49 -04:00
2017-01-13 22:37:16 -05:00
2016-06-05 22:56:42 -04:00
2017-05-08 17:15:13 -07:00
2016-12-29 11:38:31 -05:00
2016-11-03 16:10:26 -04:00
2017-03-22 15:40:45 -07:00
2017-04-21 13:21:31 -04:00
2017-03-24 13:17:07 -07:00
2016-12-24 11:46:01 -08:00
2017-06-23 13:29:38 -04:00
2017-04-30 22:44:04 -04:00
2017-04-13 13:58:22 -04:00
2017-06-16 12:01:29 -04:00
2017-05-08 15:10:31 -04:00
2017-04-06 08:24:51 -07:00
2017-04-21 13:21:31 -04:00
2017-06-11 18:15:06 -04:00
2017-02-16 21:25:49 -05:00
2017-03-10 09:45:09 -08:00
2017-02-28 12:49:36 +01:00
2017-03-24 20:50:28 -07:00
2017-04-24 14:27:17 -04:00
2017-03-24 13:17:07 -07:00
2016-11-03 15:25:26 -04:00
2017-05-04 11:02:46 -04:00
2017-05-26 14:57:07 -04:00
2017-05-05 12:00:11 -04:00
2017-04-24 14:27:17 -04:00
2016-10-29 17:12:43 -04:00
2016-05-11 14:43:19 -04:00
2017-03-02 08:42:27 +01:00
2017-06-02 14:18:13 -04:00
2017-04-20 16:16:44 -04:00
2016-12-06 11:34:24 -05:00
2016-08-23 23:11:36 -07:00
2017-04-24 14:27:17 -04:00
2016-11-21 13:20:17 -05:00
2016-05-11 14:43:19 -04:00
2016-11-21 13:20:17 -05:00
2016-11-21 13:20:17 -05:00
2017-05-16 12:45:21 -04:00
2017-05-10 10:30:46 -07:00
2017-05-02 15:07:02 -04:00
2017-05-08 17:15:13 -07:00
2017-05-04 11:00:04 -04:00
2016-06-10 23:07:49 -07:00
2016-09-19 20:59:34 -04:00
2017-05-08 14:37:07 -04:00
2017-02-21 13:26:03 -05:00
2017-04-26 14:44:38 -04:00
2017-04-27 11:46:15 -04:00
2016-11-21 13:20:17 -05:00
2017-04-24 14:27:17 -04:00
2016-11-21 13:20:17 -05:00
2016-05-11 14:43:19 -04:00
2016-11-21 13:20:17 -05:00
2017-03-16 20:23:28 -07:00
2016-11-21 13:20:17 -05:00
2017-06-25 12:23:07 -04:00
2016-07-11 13:27:06 -07:00
2016-09-08 16:13:09 -07:00
2017-05-18 10:23:33 -04:00
2017-04-24 13:48:54 -04:00
2016-06-17 20:23:32 -07:00
2017-05-18 10:23:33 -04:00
2016-11-24 15:32:14 -05:00
2017-02-15 11:04:11 +01:00
2017-04-14 10:07:39 +02:00
2017-04-14 10:07:39 +02:00
2017-04-14 10:06:10 +02:00
2017-02-09 10:22:19 +01:00
2017-02-09 10:22:17 +01:00
2017-01-10 10:57:12 +01:00