Commit 689f4c64 authored by David Howells's avatar David Howells

rxrpc: Check the source of a packet to a client conn

When looking up a client connection to which to route a packet, we need to
check that the packet came from the correct source so that a peer can't try
to muck around with another peer's connection.
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent 88b99d0b
...@@ -508,7 +508,9 @@ struct rxrpc_connection *rxrpc_find_connection(struct rxrpc_local *local, ...@@ -508,7 +508,9 @@ struct rxrpc_connection *rxrpc_find_connection(struct rxrpc_local *local,
} }
} else { } else {
conn = idr_find(&rxrpc_client_conn_ids, cid >> RXRPC_CIDSHIFT); conn = idr_find(&rxrpc_client_conn_ids, cid >> RXRPC_CIDSHIFT);
if (conn && conn->proto.epoch == epoch) if (conn &&
conn->proto.epoch == epoch &&
conn->params.peer == peer)
goto found; goto found;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment