From: David Howells Date: Mon, 15 Oct 2018 21:37:21 +0000 (+0100) Subject: rxrpc: Fix a missing rxrpc_put_peer() in the error_report handler X-Git-Tag: v4.19~18^2~21 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=1890fea7936ad9be0b7caf6a94146b0d905c4b60;p=users%2Fhch%2Fblock.git rxrpc: Fix a missing rxrpc_put_peer() in the error_report handler Fix a missing call to rxrpc_put_peer() on the main path through the rxrpc_error_report() function. This manifests itself as a ref leak whenever an ICMP packet or other error comes in. In commit f334430316e7, the hand-off of the ref to a work item was removed and was not replaced with a put. Fixes: f334430316e7 ("rxrpc: Fix error distribution") Signed-off-by: David Howells Signed-off-by: David S. Miller --- diff --git a/net/rxrpc/peer_event.c b/net/rxrpc/peer_event.c index 05b51bdbdd41..bd2fa3b7caa7 100644 --- a/net/rxrpc/peer_event.c +++ b/net/rxrpc/peer_event.c @@ -195,6 +195,7 @@ void rxrpc_error_report(struct sock *sk) rxrpc_store_error(peer, serr); rcu_read_unlock(); rxrpc_free_skb(skb, rxrpc_skb_rx_freed); + rxrpc_put_peer(peer); _leave(""); }