rxrpc: Cache the security index in the rxrpc_call struct
Cache the security index in the rxrpc_call struct so that we can get at it even when the call has been disconnected and the connection pointer cleared. Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
@@ -348,6 +348,7 @@ static int rxrpc_get_client_conn(struct rxrpc_call *call,
|
||||
|
||||
if (cp->exclusive) {
|
||||
call->conn = candidate;
|
||||
call->security_ix = candidate->security_ix;
|
||||
_leave(" = 0 [exclusive %d]", candidate->debug_id);
|
||||
return 0;
|
||||
}
|
||||
@@ -395,6 +396,7 @@ static int rxrpc_get_client_conn(struct rxrpc_call *call,
|
||||
candidate_published:
|
||||
set_bit(RXRPC_CONN_IN_CLIENT_CONNS, &candidate->flags);
|
||||
call->conn = candidate;
|
||||
call->security_ix = candidate->security_ix;
|
||||
spin_unlock(&local->client_conns_lock);
|
||||
_leave(" = 0 [new %d]", candidate->debug_id);
|
||||
return 0;
|
||||
@@ -412,6 +414,7 @@ found_extant_conn:
|
||||
|
||||
spin_lock(&conn->channel_lock);
|
||||
call->conn = conn;
|
||||
call->security_ix = conn->security_ix;
|
||||
list_add(&call->chan_wait_link, &conn->waiting_calls);
|
||||
spin_unlock(&conn->channel_lock);
|
||||
_leave(" = 0 [extant %d]", conn->debug_id);
|
||||
|
Reference in New Issue
Block a user