]> git.baikalelectronics.ru Git - kernel.git/commit
net: diag: Fix refcnt leak in error path destroying socket
authorDavid Ahern <dsa@cumulusnetworks.com>
Wed, 24 Aug 2016 04:05:27 +0000 (21:05 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 24 Aug 2016 06:11:36 +0000 (23:11 -0700)
commit0af7c3760e4bce918211b5ed72de2243744d2805
tree33b158ecdb0ed30ca22110588dc368b91a10f9ed
parentf98623400608b85266d8ee75dfabeb876cb3631a
net: diag: Fix refcnt leak in error path destroying socket

inet_diag_find_one_icsk takes a reference to a socket that is not
released if sock_diag_destroy returns an error. Fix by changing
tcp_diag_destroy to manage the refcnt for all cases and remove
the sock_put calls from tcp_abort.

Fixes: 5264d240d5ad5 ("net: diag: Support destroying TCP sockets")
Reported-by: Lorenzo Colitti <lorenzo@google.com>
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp.c
net/ipv4/tcp_diag.c