rxrpc: Make sure we initialise the peer hash key
authorDavid Howells <dhowells@redhat.com>
Tue, 13 Sep 2016 21:36:21 +0000 (22:36 +0100)
committerDavid Howells <dhowells@redhat.com>
Tue, 13 Sep 2016 21:36:21 +0000 (22:36 +0100)
Peer records created for incoming connections weren't getting their hash
key set.  This meant that incoming calls wouldn't see more than one DATA
packet - which is not a problem for AFS CM calls with small request data
blobs.

Signed-off-by: David Howells <dhowells@redhat.com>
net/rxrpc/peer_object.c

index 2efe29a4c232129d17dc61b5e4598eca34334e7d..3e6cd174b53df9257834501fb39f02c09ce0f34b 100644 (file)
@@ -203,6 +203,7 @@ struct rxrpc_peer *rxrpc_alloc_peer(struct rxrpc_local *local, gfp_t gfp)
  */
 static void rxrpc_init_peer(struct rxrpc_peer *peer, unsigned long hash_key)
 {
+       peer->hash_key = hash_key;
        rxrpc_assess_MTU_size(peer);
        peer->mtu = peer->if_mtu;
 
@@ -238,7 +239,6 @@ static struct rxrpc_peer *rxrpc_create_peer(struct rxrpc_local *local,
 
        peer = rxrpc_alloc_peer(local, gfp);
        if (peer) {
-               peer->hash_key = hash_key;
                memcpy(&peer->srx, srx, sizeof(*srx));
                rxrpc_init_peer(peer, hash_key);
        }