diff mbox

[net-next,03/24] rxrpc: Check the source of a packet to a client conn

Message ID 146772435240.21657.14537615652235527199.stgit@warthog.procyon.org.uk
State Changes Requested, archived
Delegated to: David Miller
Headers show

Commit Message

David Howells July 5, 2016, 1:12 p.m. UTC
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: David Howells <dhowells@redhat.com>
---

 net/rxrpc/conn_object.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/net/rxrpc/conn_object.c b/net/rxrpc/conn_object.c
index c86a3cff7585..2c2456ff2853 100644
--- a/net/rxrpc/conn_object.c
+++ b/net/rxrpc/conn_object.c
@@ -508,7 +508,9 @@  struct rxrpc_connection *rxrpc_find_connection(struct rxrpc_local *local,
 		}
 	} else {
 		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;
 	}