Eric Dumazet
4a269818a7
tcp: fix tcp_unlink_write_queue()
...
Yury reported crash with this signature :
[ 554.034021] [<ffff80003ccd5a58>] 0xffff80003ccd5a58
[ 554.034156] [<ffff00000888fd34>] skb_release_all+0x14/0x30
[ 554.034288] [<ffff00000888fd64>] __kfree_skb+0x14/0x28
[ 554.034409] [<ffff0000088ece6c>] tcp_sendmsg_locked+0x4dc/0xcc8
[ 554.034541] [<ffff0000088ed68c>] tcp_sendmsg+0x34/0x58
[ 554.034659] [<ffff000008919fd4>] inet_sendmsg+0x2c/0xf8
[ 554.034783] [<ffff0000088842e8>] sock_sendmsg+0x18/0x30
[ 554.034928] [<ffff0000088861fc>] SyS_sendto+0x84/0xf8
Problem is that skb->destructor contains garbage, and this is
because I accidentally removed tcp_skb_tsorted_anchor_cleanup()
from tcp_unlink_write_queue()
This would trigger with a write(fd, <invalid_memory>, len) attempt,
and we will add to packetdrill this capability to avoid future
regressions.
Fixes: 75c119afe1 ("tcp: implement rb-tree based retransmit queue")
Reported-by: Yury Norov <ynorov@caviumnetworks.com >
Tested-by: Yury Norov <ynorov@caviumnetworks.com >
Signed-off-by: Eric Dumazet <edumazet@google.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2017-10-11 13:41:24 -07:00
..
2017-07-11 06:08:58 -04:00
2017-09-01 22:49:47 +02:00
2017-09-08 18:55:50 +02:00
2017-10-01 17:55:54 -07:00
2017-04-05 10:15:20 +02:00
2017-10-07 23:15:08 +01:00
2017-10-03 16:27:29 -07:00
2017-09-26 20:26:45 -07:00
2017-04-12 22:02:36 +02:00
2017-09-12 20:41:02 -07:00
2017-09-18 11:40:03 -07:00
2017-08-29 10:55:20 +01:00
2017-07-21 03:38:43 +01:00
2017-10-05 18:44:17 -07:00
2017-07-01 07:39:07 -07:00
2017-07-04 22:35:19 +01:00
2017-05-27 18:51:41 -04:00
2017-10-04 21:39:33 -07:00
2017-08-11 14:59:24 -07:00
2017-07-04 22:35:16 +01:00
2017-10-02 14:08:27 +02:00
2016-07-08 12:20:57 +02:00
2017-01-20 12:12:13 -05:00
2017-07-04 01:29:04 -07:00
2016-06-25 12:19:35 -04:00
2016-06-09 23:41:03 -07:00
2017-08-31 14:42:19 -07:00
2017-07-04 22:35:15 +01:00
2017-10-01 04:15:07 +01:00
2017-10-10 12:30:16 -07:00
2017-02-07 13:07:46 -05:00
2017-10-07 21:22:58 +01:00
2017-08-22 14:29:30 -07:00
2017-04-14 10:06:42 +02:00
2017-09-27 11:33:27 -07:00
2017-08-03 15:35:59 -07:00
2017-09-05 11:40:08 -07:00
2017-08-24 18:21:17 -07:00
2016-05-20 18:03:16 -04:00
2017-10-11 09:49:34 +02:00
2017-10-11 09:49:34 +02:00
2016-12-05 15:21:59 -05:00
2017-06-05 10:54:55 -04:00
2016-06-17 20:23:32 -07:00
2016-08-18 01:17:32 -04:00
2017-02-08 14:38:18 -05:00
2016-07-25 17:55:43 -07:00
2017-01-25 16:00:33 +01:00
2017-07-04 01:29:04 -07:00
2017-02-03 15:16:45 -05:00
2017-01-18 13:04:28 -05:00
2017-08-07 11:39:22 -07:00
2017-03-09 18:23:27 -08:00
2017-06-15 12:12:40 -04:00
2017-10-01 17:55:54 -07:00
2017-09-03 11:01:05 -07:00
2017-08-07 11:39:21 -07:00
2017-01-25 14:04:38 -05:00
2016-12-29 11:38:31 -05:00
2017-07-17 08:59:01 -07:00
2017-10-07 21:22:58 +01:00
2017-10-07 21:22:57 +01:00
2017-04-21 13:21:30 -04:00
2017-09-29 06:19:32 +01:00
2017-09-19 16:32:24 -07:00
2017-04-28 12:00:10 +02:00
2017-08-21 17:06:42 -07:00
2017-10-06 09:52:31 -07:00
2017-07-04 22:35:17 +01:00
2017-01-13 09:38:42 +01:00
2016-08-17 19:36:23 -04:00
2016-10-13 12:05:26 -04:00
2017-07-04 22:35:16 +01:00
2017-07-04 22:35:15 +01:00
2017-05-30 11:55:32 -04:00
2017-09-21 11:42:00 +02:00
2016-07-08 13:23:12 +02:00
2017-04-01 20:21:44 -07:00
2016-10-03 02:00:22 -04:00
2017-09-05 09:11:45 -07:00
2017-07-01 07:39:07 -07:00
2017-09-25 20:36:17 -07:00
2017-08-03 15:35:59 -07:00
2016-07-05 09:06:29 -07:00
2017-07-01 07:39:09 -07:00
2017-09-25 20:18:27 -07:00
2017-07-04 22:35:17 +01:00
2016-07-08 12:20:57 +02:00
2017-08-29 15:16:52 -07:00
2017-08-11 13:47:01 -07:00
2017-08-11 13:47:00 -07:00
2016-08-15 10:55:53 -07:00
2017-10-01 03:55:47 +01:00
2017-01-24 13:44:28 -05:00
2017-08-07 11:39:21 -07:00
2017-08-07 11:39:22 -07:00
2016-12-25 17:21:22 +01:00
2017-07-01 07:39:08 -07:00
2017-10-01 03:55:47 +01:00
2017-10-04 10:33:59 -07:00
2017-09-19 16:30:03 -07:00
2017-03-02 08:42:31 +01:00
2017-06-08 10:53:29 -04:00
2016-11-09 20:40:06 -05:00
2017-08-25 17:10:23 -07:00
2017-01-09 16:07:41 -05:00
2017-10-07 00:28:54 +01:00
2017-08-24 21:57:50 -07:00
2017-10-09 10:18:11 -07:00
2017-10-11 13:41:24 -07:00
2017-06-15 12:12:40 -04:00
2017-08-23 20:42:09 -07:00
2017-08-29 15:16:52 -07:00
2017-07-24 13:52:59 -07:00
2017-10-01 03:55:47 +01:00
2017-05-16 15:41:29 -04:00
2017-08-29 15:16:52 -07:00
2017-06-14 13:52:44 +02:00
2017-07-04 22:35:18 +01:00
2017-08-31 09:04:03 +02:00