diff options
author | David Howells <dhowells@redhat.com> | 2022-11-28 10:24:06 +0100 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2022-12-01 14:36:37 +0100 |
commit | 49df54a6b2953195243d037682cffb9038f9456a (patch) | |
tree | 5c56e31a7473d0170c47612519564771cc6e19dd /net/rxrpc | |
parent | rxrpc: Implement an in-kernel rxperf server for testing purposes (diff) | |
download | linux-49df54a6b2953195243d037682cffb9038f9456a.tar.xz linux-49df54a6b2953195243d037682cffb9038f9456a.zip |
rxrpc: Fix call leak
When retransmitting a packet, rxrpc_resend() shouldn't be attaching a ref
to the call to the txbuf as that pins the call and prevents the call from
clearing the packet buffer.
Signed-off-by: David Howells <dhowells@redhat.com>
Fixes: d57a3a151660 ("rxrpc: Save last ACK's SACK table rather than marking txbufs")
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
Diffstat (limited to 'net/rxrpc')
-rw-r--r-- | net/rxrpc/call_event.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/net/rxrpc/call_event.c b/net/rxrpc/call_event.c index 1e21a708390e..349f3df569ba 100644 --- a/net/rxrpc/call_event.c +++ b/net/rxrpc/call_event.c @@ -198,7 +198,6 @@ static void rxrpc_resend(struct rxrpc_call *call, unsigned long now_j) if (list_empty(&txb->tx_link)) { rxrpc_get_txbuf(txb, rxrpc_txbuf_get_retrans); - rxrpc_get_call(call, rxrpc_call_got_tx); list_add_tail(&txb->tx_link, &retrans_queue); set_bit(RXRPC_TXBUF_RESENT, &txb->flags); } |