From: David Howells Date: Fri, 11 Apr 2025 09:52:55 +0000 (+0100) Subject: rxrpc: Allow the app to store private data on peer structs X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=b794dc17cdd0517edb377edf863c2dc1f2dec781;p=users%2Fjedix%2Flinux-maple.git rxrpc: Allow the app to store private data on peer structs 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 cc: Marc Dionne cc: Simon Horman cc: linux-afs@lists.infradead.org Link: https://patch.msgid.link/20250411095303.2316168-11-dhowells@redhat.com Signed-off-by: Jakub Kicinski --- diff --git a/net/rxrpc/oob.c b/net/rxrpc/oob.c index 3601022b91900..05ca9c1faa577 100644 --- a/net/rxrpc/oob.c +++ b/net/rxrpc/oob.c @@ -272,7 +272,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); @@ -347,7 +347,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; }