]> 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)
commitf77b3782b0f111b1db5ea3495c6425780d163f61
tree33b158ecdb0ed30ca22110588dc368b91a10f9ed
parent8526ec924bf6c887738f6555d064b8520eac3a79
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: 7b8139d6cb741 ("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