From: Paolo Abeni <pabeni@redhat.com>
To: David Howells <dhowells@redhat.com>, netdev@vger.kernel.org
Cc: Marc Dionne <marc.dionne@auristor.com>,
Jakub Kicinski <kuba@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Simon Horman <horms@kernel.org>,
linux-afs@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net v8 00/12] rxrpc: Fix CHALLENGE packet handling
Date: Thu, 27 Aug 2026 15:19:28 +0200 [thread overview]
Message-ID: <a0563aec-0ac2-47da-b03e-2e991a2aeabb@redhat.com> (raw)
In-Reply-To: <20260824091645.415423-1-dhowells@redhat.com>
On 8/24/26 11:16 AM, David Howells wrote:
> Here's a fix for AF_RXRPC's CHALLENGE packet handling, addressing an issue
> raised by Sashiko[1], plus some miscellaneous fixes found in the process of
> fixing this, plus a number of things raised by Sashiko[2-8].
>
> Firstly, the miscellaneous patches:
>
> (1) Fix rxrpc_sendmsg so that it doesn't return an error if it queued the
> last packet of a call. After that point, the error will be returned
> by recvmsg() and returned it twice in two different places may
> complicate userspace cleaning up its own structures.
>
> (2) Fix the use of len vs msg->msg_iter.count in rxrpc_send_data().
>
> (3) Fix error handling in rxrpc_send_data() for if ->secure_packet()
> returns an error.
>
> (4) Fix the update of call->pending in rxrpc_send_data() in paths when the
> call lock has been dropped.
>
> (5) Fix double IRQ enablement in __rxrpc_notify_socket() when called
> indirectly from rxrpc_end_rx_phase().
>
> (6) Fix the generation of notifications from rxrpc after call completion.
>
> And then there are the patches to fix CHALLENGE packet overqueuing and
> simplify RESPONSE packet generation by pre-creating the RxGK application
> data up front and passing it in a user key (thereby allowing userspace to
> partake). This is split into five patches:
>
> (7) Expand the abort trace enum to be larger than a signed char as the
> number of elements will exceed 128.
>
> (8) Add a refcount to the user key payload.
>
> (9) Make the AFS filesystem generate per-server appdata keys.
>
> (10) Pass the appdata from AFS (or userspace) to rxrpc.
>
> (11) Change over to using the appdata key to supply the appdata.
>
> (12) Remove all the OOB stuff.
>
> [!] Note that this entails a significant change in the UAPI for AF_RXRPC,
> with the CMSG types and sockopt to support the OOB queuing being removed
> and replaced with a new single CMSG type that conveys the user key ID. I
> don't think it likely anyone is using this outside of my kafs-utils
> package.
>
> This also involves a change to the user-defined key type, making the
> payload refcounted so that it can be accessed and the length read, then a
> buffer allocated that will hold it and other data, and then the content
> copied. The problem is that the user is perfectly at liberty to change the
> content of a user-defined key (which will RCU-replace the content of the
> key), so the length might change when we drop the RCU read lock in order to
> allocate. This could be got around by locking the key->rwsem sharedly, but
> that might be able to deadlock part of the rxrpc protocol engine if memory
> reclaim occurs.
>
> David
>
> The patches can be found here also:
>
> http://git.kernel.org/cgit/linux/kernel/git/dhowells/linux-fs.git/log/?h=rxrpc-fixes
It looks like some of the comment raised by sashiko are new,
especially on patch 9/12:
https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260812110129.979970-1-dhowells%40redhat.com
Do you think later follow-ups (i.e. in another series) would be ok?
/P
next prev parent reply other threads:[~2026-08-27 13:19 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-24 9:16 David Howells
2026-08-24 9:16 ` [PATCH net v8 01/12] rxrpc: Fix sendmsg to not return an error if last packet queued David Howells
2026-08-24 9:16 ` [PATCH net v8 02/12] rxrpc: Fix sendmsg length David Howells
2026-08-24 9:16 ` [PATCH net v8 03/12] rxrpc: Fix packet encryption error handling David Howells
2026-08-24 9:16 ` [PATCH net v8 04/12] rxrpc: Fix update of call->tx_pending without holding lock David Howells
2026-08-24 9:16 ` [PATCH net v8 05/12] rxrpc: Fix double IRQ enablement David Howells
2026-08-24 9:16 ` [PATCH net v8 06/12] rxrpc: Fix generation of notifications after call completion David Howells
2026-08-24 9:16 ` [PATCH net v8 07/12] rxrpc: Expand abort trace enum David Howells
2026-08-24 9:16 ` [PATCH net v8 08/12] keys: Add refcounting to user-defined key type payload David Howells
2026-08-24 9:16 ` [PATCH net v8 09/12] afs: Create a server appdata key David Howells
2026-08-24 9:16 ` [PATCH net v8 10/12] rxrpc: Pass appdata key to rxrpc_call and thence to rxrpc_bundle David Howells
2026-08-24 9:16 ` [PATCH net v8 11/12] rxrpc: Fix CHALLENGE packet overqueuing and simplify RESPONSE generation David Howells
2026-08-24 9:16 ` [PATCH net v8 12/12] rxrpc: Remove OOB challenge/response code David Howells
2026-08-27 13:19 ` Paolo Abeni [this message]
2026-08-27 20:52 ` [PATCH net v8 00/12] rxrpc: Fix CHALLENGE packet handling David Howells
2026-08-27 22:08 ` David Howells
2026-08-28 7:12 ` David Howells
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a0563aec-0ac2-47da-b03e-2e991a2aeabb@redhat.com \
--to=pabeni@redhat.com \
--cc=davem@davemloft.net \
--cc=dhowells@redhat.com \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-afs@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marc.dionne@auristor.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®