Patch "rxrpc: Fix leak of released call in recvmsg(MSG_PEEK)" has been added to the 7.1-stable tree
gregkh at linuxfoundation.org
gregkh at linuxfoundation.org
Mon Jul 20 03:53:48 PDT 2026
This is a note to let you know that I've just added the patch titled
rxrpc: Fix leak of released call in recvmsg(MSG_PEEK)
to the 7.1-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
rxrpc-fix-leak-of-released-call-in-recvmsg-msg_peek.patch
and it can be found in the queue-7.1 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable at vger.kernel.org> know about it.
>From 4bdb9e471f5b1ac9cbe4add5de7ff085a0ec303c Mon Sep 17 00:00:00 2001
From: David Howells <dhowells at redhat.com>
Date: Wed, 24 Jun 2026 17:38:17 +0100
Subject: rxrpc: Fix leak of released call in recvmsg(MSG_PEEK)
From: David Howells <dhowells at redhat.com>
commit 4bdb9e471f5b1ac9cbe4add5de7ff085a0ec303c upstream.
Fix rxrpc_recvmsg() to also drop the ref it holds on an already-released
call if MSG_PEEK is in force (the function holds a ref on the call
irrespective of whether MSG_PEEK is specified or not).
Fixes: 962fb1f651c2 ("rxrpc: Fix recv-recv race of completed call")
Link: https://sashiko.dev/#/patchset/20260616155749.2125907-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells at redhat.com>
cc: Marc Dionne <marc.dionne at auristor.com>
cc: Jeffrey Altman <jaltman at auristor.com>
cc: Simon Horman <horms at kernel.org>
cc: linux-afs at lists.infradead.org
cc: stable at kernel.org
Link: https://patch.msgid.link/20260624163819.3017002-11-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
---
net/rxrpc/recvmsg.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
--- a/net/rxrpc/recvmsg.c
+++ b/net/rxrpc/recvmsg.c
@@ -528,8 +528,7 @@ try_again:
if (test_bit(RXRPC_CALL_RELEASED, &call->flags)) {
rxrpc_see_call(call, rxrpc_call_see_already_released);
mutex_unlock(&call->user_mutex);
- if (!(flags & MSG_PEEK))
- rxrpc_put_call(call, rxrpc_call_put_recvmsg);
+ rxrpc_put_call(call, rxrpc_call_put_recvmsg);
goto try_again;
}
Patches currently in stable-queue which might be from dhowells at redhat.com are
queue-7.1/rxrpc-don-t-move-a-peeked-oob-message-onto-the-pending-queue.patch
queue-7.1/rxrpc-fix-potential-infinite-loop-in-rxrpc_recvmsg.patch
queue-7.1/rxrpc-rxrpc_verify_data-ensure-rx_dec_buffer-alloc.patch
queue-7.1/afs-fix-further-netns-teardown-to-cancel-the-preallocation-charger.patch
queue-7.1/afs-fix-netns-teardown-to-cancel-the-preallocation-charger.patch
queue-7.1/rxrpc-fix-ackall-packet-handling.patch
queue-7.1/rxrpc-fix-leak-of-connection-from-oob-challenge.patch
queue-7.1/rxrpc-fix-oob-challenge-leak-in-cleanup-after-notification-failure.patch
queue-7.1/afs-handle-cb.initcallbackstate3-requests-without-a-server-record.patch
queue-7.1/rxrpc-fix-socket-notification-race.patch
queue-7.1/rxrpc-fix-rxrpc_rotate_tx_rotate-to-check-there-s-something-to-rotate.patch
queue-7.1/rxrpc-fix-leak-of-released-call-in-recvmsg-msg_peek.patch
queue-7.1/rxrpc-serialize-kernel-accept-preallocation-with-socket-teardown.patch
queue-7.1/afs-fix-null-pointer-dereference-in-afs_get_tree.patch
queue-7.1/rxrpc-fix-the-reception-of-a-reply-packet-before-data-transmission.patch
queue-7.1/rxrpc-fix-double-unlock-in-rxrpc_recvmsg.patch
queue-7.1/afs-fix-uncancelled-rxrpc-oob-message-handler.patch
queue-7.1/rxrpc-fix-uaf-in-rxgk_issue_challenge.patch
More information about the linux-afs
mailing list