rxrpc: Fix exclusive client connections
authorDavid Howells <dhowells@redhat.com>
Thu, 29 Sep 2016 21:37:15 +0000 (22:37 +0100)
committerDavid Howells <dhowells@redhat.com>
Thu, 29 Sep 2016 21:37:15 +0000 (22:37 +0100)
Exclusive connections are currently reusable (which they shouldn't be)
because rxrpc_alloc_client_connection() checks the exclusive flag in the
rxrpc_connection struct before it's initialised from the function
parameters.  This means that the DONT_REUSE flag doesn't get set.

Fix this by checking the function parameters for the exclusive flag.

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

index c76a125df891cafc6fefdff3682e2614b0bcee3b..f5ee8bfa5bef4d153c25b1f6c99f15bdf9a0e57a 100644 (file)
@@ -200,7 +200,7 @@ rxrpc_alloc_client_connection(struct rxrpc_conn_parameters *cp, gfp_t gfp)
        }
 
        atomic_set(&conn->usage, 1);
-       if (conn->params.exclusive)
+       if (cp->exclusive)
                __set_bit(RXRPC_CONN_DONT_REUSE, &conn->flags);
 
        conn->params            = *cp;