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 commitf334430316
, the hand-off of the ref to a work item was removed and was not replaced with a put. Fixes:f334430316
("rxrpc: Fix error distribution") Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
d805397c38
Коммит
1890fea793
|
@ -195,6 +195,7 @@ void rxrpc_error_report(struct sock *sk)
|
||||||
rxrpc_store_error(peer, serr);
|
rxrpc_store_error(peer, serr);
|
||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
rxrpc_free_skb(skb, rxrpc_skb_rx_freed);
|
rxrpc_free_skb(skb, rxrpc_skb_rx_freed);
|
||||||
|
rxrpc_put_peer(peer);
|
||||||
|
|
||||||
_leave("");
|
_leave("");
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче