rxrpc: Provide a way for AFS to ask for the peer address of a call
Provide a function so that kernel users, such as AFS, can ask for the peer address of a call: void rxrpc_kernel_get_peer(struct rxrpc_call *call, struct sockaddr_rxrpc *_srx); In the future the kernel service won't get sk_buffs to look inside. Further, this allows us to hide any canonicalisation inside AF_RXRPC for when IPv6 support is added. Also propagate this through to afs_find_server() and issue a warning if we can't handle the address family yet. Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
@@ -313,3 +313,18 @@ void __rxrpc_put_peer(struct rxrpc_peer *peer)
|
||||
|
||||
kfree_rcu(peer, rcu);
|
||||
}
|
||||
|
||||
/**
|
||||
* rxrpc_kernel_get_peer - Get the peer address of a call
|
||||
* @sock: The socket on which the call is in progress.
|
||||
* @call: The call to query
|
||||
* @_srx: Where to place the result
|
||||
*
|
||||
* Get the address of the remote peer in a call.
|
||||
*/
|
||||
void rxrpc_kernel_get_peer(struct socket *sock, struct rxrpc_call *call,
|
||||
struct sockaddr_rxrpc *_srx)
|
||||
{
|
||||
*_srx = call->peer->srx;
|
||||
}
|
||||
EXPORT_SYMBOL(rxrpc_kernel_get_peer);
|
||||
|
Reference in New Issue
Block a user