net: ip, raw_diag -- Fix socket leaking for destroy request
Subsystems (2)
PATCH 1/2 net: ip, raw_diag -- Fix socket leaking for destroy request
In raw_diag_destroy the helper raw_sock_get returns with sock_hold call, so we have to put it then.
CC David S. Miller <[email protected]>
CC Eric Dumazet <[email protected]>
CC David Ahern <[email protected]>
CC Andrey Vagin <[email protected]>
CC Stephen Hemminger <[email protected]>
Signed-off-by Cyrill Gorcunov <[email protected]>
--- net/ipv4/raw_diag.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
net/ipv4/raw_diag.c +4 -1
@@ -205,11 +205,14 @@ static int raw_diag_destroy(struct sk_bu {struct net *net =sock_net (in_skb->sk);struct sock *sk; +int err; sk =raw_sock_get (net, r);if (IS_ERR (sk))return PTR_ERR (sk); -return sock_diag_destroy (sk,ECONNABORTED ); + err =sock_diag_destroy (sk,ECONNABORTED ); +sock_put (sk); +return err; }#endif
Quoted 9 lines · Cyrill Gorcunov
In
raw_diag_destroythe helperraw_sock_getreturns withsock_holdcall, so we have to put it then.CC David S. Miller <[email protected]>CC Eric Dumazet <[email protected]>CC David Ahern <[email protected]>CC Andrey Vagin <[email protected]>CC Stephen Hemminger <[email protected]>Signed-off-by Cyrill Gorcunov <[email protected]>
Quoted 3 lines
--- net/ipv4/raw_diag.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
Acked-by David Ahern <[email protected]>