Message ID | 20240419163057.4141728-1-marc.dionne@auristor.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 8953285d7bd63c12b007432a9b4587fa2fad49fb |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net,v2] rxrpc: Clients must accept conn from any address | expand |
Hello: This patch was applied to netdev/net.git (main) by Jakub Kicinski <kuba@kernel.org>: On Fri, 19 Apr 2024 13:30:57 -0300 you wrote: > From: Jeffrey Altman <jaltman@auristor.com> > > The find connection logic of Transarc's Rx was modified in the mid-1990s > to support multi-homed servers which might send a response packet from > an address other than the destination address in the received packet. > The rules for accepting a packet by an Rx initiator (RX_CLIENT_CONNECTION) > were altered to permit acceptance of a packet from any address provided > that the port number was unchanged and all of the connection identifiers > matched (Epoch, CID, SecurityClass, ...). > > [...] Here is the summary with links: - [net,v2] rxrpc: Clients must accept conn from any address https://git.kernel.org/netdev/net/c/8953285d7bd6 You are awesome, thank you!
diff --git a/net/rxrpc/conn_object.c b/net/rxrpc/conn_object.c index 0af4642aeec4..1539d315afe7 100644 --- a/net/rxrpc/conn_object.c +++ b/net/rxrpc/conn_object.c @@ -119,18 +119,13 @@ struct rxrpc_connection *rxrpc_find_client_connection_rcu(struct rxrpc_local *lo switch (srx->transport.family) { case AF_INET: if (peer->srx.transport.sin.sin_port != - srx->transport.sin.sin_port || - peer->srx.transport.sin.sin_addr.s_addr != - srx->transport.sin.sin_addr.s_addr) + srx->transport.sin.sin_port) goto not_found; break; #ifdef CONFIG_AF_RXRPC_IPV6 case AF_INET6: if (peer->srx.transport.sin6.sin6_port != - srx->transport.sin6.sin6_port || - memcmp(&peer->srx.transport.sin6.sin6_addr, - &srx->transport.sin6.sin6_addr, - sizeof(struct in6_addr)) != 0) + srx->transport.sin6.sin6_port) goto not_found; break; #endif