[PATCH net-next 08/12] rxrpc: Allow the app to store private data on peer structs

From: David Howells
Date: Mon Apr 07 2025 - 05:18:25 EST


Provide a way for the application (e.g. the afs filesystem) to store
private data on the rxrpc_peer structs for later retrieval via the call
object.

This will allow afs to store a pointer to the afs_server object on the
rxrpc_peer struct, thereby obviating the need for afs to keep lookup tables
by which it can associate an incoming call with server that transmitted it.

Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
cc: Marc Dionne <marc.dionne@xxxxxxxxxxxx>
cc: Jakub Kicinski <kuba@xxxxxxxxxx>
cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
cc: Eric Dumazet <edumazet@xxxxxxxxxx>
cc: Paolo Abeni <pabeni@xxxxxxxxxx>
cc: Simon Horman <horms@xxxxxxxxxx>
cc: linux-afs@xxxxxxxxxxxxxxxxxxx
cc: netdev@xxxxxxxxxxxxxxx
---
net/rxrpc/oob.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/rxrpc/oob.c b/net/rxrpc/oob.c
index 8a8893463d95..f860148a8ca4 100644
--- a/net/rxrpc/oob.c
+++ b/net/rxrpc/oob.c
@@ -271,7 +271,7 @@ enum rxrpc_oob_type rxrpc_kernel_query_oob(struct sk_buff *oob,
switch (type) {
case RXRPC_OOB_CHALLENGE:
*_peer = sp->chall.conn->peer;
- *_peer_appdata = 0; /* TODO: retrieve appdata */
+ *_peer_appdata = sp->chall.conn->peer->app_data;
break;
default:
WARN_ON_ONCE(1);
@@ -342,7 +342,7 @@ void rxrpc_kernel_query_challenge(struct sk_buff *challenge,
struct rxrpc_skb_priv *sp = rxrpc_skb(challenge);

*_peer = sp->chall.conn->peer;
- *_peer_appdata = 0; /* TODO: retrieve appdata */
+ *_peer_appdata = sp->chall.conn->peer->app_data;
*_service_id = sp->hdr.serviceId;
*_security_index = sp->hdr.securityIndex;
}