Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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 <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: Simon Horman <horms@kernel.org>
cc: linux-afs@lists.infradead.org
Link: https://patch.msgid.link/20250411095303.2316168-11-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

David Howells and committed by
Jakub Kicinski
b794dc17 7a7513a3

+2 -2
+2 -2
net/rxrpc/oob.c
··· 272 272 switch (type) { 273 273 case RXRPC_OOB_CHALLENGE: 274 274 *_peer = sp->chall.conn->peer; 275 - *_peer_appdata = 0; /* TODO: retrieve appdata */ 275 + *_peer_appdata = sp->chall.conn->peer->app_data; 276 276 break; 277 277 default: 278 278 WARN_ON_ONCE(1); ··· 347 347 struct rxrpc_skb_priv *sp = rxrpc_skb(challenge); 348 348 349 349 *_peer = sp->chall.conn->peer; 350 - *_peer_appdata = 0; /* TODO: retrieve appdata */ 350 + *_peer_appdata = sp->chall.conn->peer->app_data; 351 351 *_service_id = sp->hdr.serviceId; 352 352 *_security_index = sp->hdr.securityIndex; 353 353 }