Message ID | 153963944115.2618.17691876338723925930.stgit@warthog.procyon.org.uk |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | [net] rxrpc: Fix a missing rxrpc_put_peer() in the error_report handler | expand |
From: David Howells <dhowells@redhat.com> Date: Mon, 15 Oct 2018 22:37:21 +0100 > 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 <dhowells@redhat.com> Applied.
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(""); }
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 <dhowells@redhat.com> --- net/rxrpc/peer_event.c | 1 + 1 file changed, 1 insertion(+)