[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20171011.134114.1377805651978859991.davem@davemloft.net>
Date: Wed, 11 Oct 2017 13:41:14 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: eric.dumazet@...il.com
Cc: ynorov@...iumnetworks.com, netdev@...r.kernel.org,
catalin.marinas@....com, weiwan@...gle.com, ncardwell@...gle.com
Subject: Re: [PATCH net-next] tcp: fix tcp_unlink_write_queue()
From: Eric Dumazet <eric.dumazet@...il.com>
Date: Wed, 11 Oct 2017 13:27:29 -0700
> From: Eric Dumazet <edumazet@...gle.com>
>
> 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: 75c119afe14f ("tcp: implement rb-tree based retransmit queue")
> Reported-by: Yury Norov <ynorov@...iumnetworks.com>
> Tested-by: Yury Norov <ynorov@...iumnetworks.com>
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>
Applied, thanks Eric.
Powered by blists - more mailing lists