forked from Minki/linux
rxrpc: Trace received connection aborts
Trace received calls that are aborted due to a connection abort, typically because of authentication failure. Without this, connection aborts don't show up in the trace log. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f7f1dd3162
commit
39ce675575
@ -153,7 +153,8 @@ static void rxrpc_conn_retransmit_call(struct rxrpc_connection *conn,
|
||||
* pass a connection-level abort onto all calls on that connection
|
||||
*/
|
||||
static void rxrpc_abort_calls(struct rxrpc_connection *conn,
|
||||
enum rxrpc_call_completion compl)
|
||||
enum rxrpc_call_completion compl,
|
||||
rxrpc_serial_t serial)
|
||||
{
|
||||
struct rxrpc_call *call;
|
||||
int i;
|
||||
@ -173,6 +174,9 @@ static void rxrpc_abort_calls(struct rxrpc_connection *conn,
|
||||
call->call_id, 0,
|
||||
conn->abort_code,
|
||||
conn->error);
|
||||
else
|
||||
trace_rxrpc_rx_abort(call, serial,
|
||||
conn->abort_code);
|
||||
if (rxrpc_set_call_completion(call, compl,
|
||||
conn->abort_code,
|
||||
conn->error))
|
||||
@ -213,8 +217,6 @@ static int rxrpc_abort_connection(struct rxrpc_connection *conn,
|
||||
conn->state = RXRPC_CONN_LOCALLY_ABORTED;
|
||||
spin_unlock_bh(&conn->state_lock);
|
||||
|
||||
rxrpc_abort_calls(conn, RXRPC_CALL_LOCALLY_ABORTED);
|
||||
|
||||
msg.msg_name = &conn->params.peer->srx.transport;
|
||||
msg.msg_namelen = conn->params.peer->srx.transport_len;
|
||||
msg.msg_control = NULL;
|
||||
@ -242,6 +244,7 @@ static int rxrpc_abort_connection(struct rxrpc_connection *conn,
|
||||
len = iov[0].iov_len + iov[1].iov_len;
|
||||
|
||||
serial = atomic_inc_return(&conn->serial);
|
||||
rxrpc_abort_calls(conn, RXRPC_CALL_LOCALLY_ABORTED, serial);
|
||||
whdr.serial = htonl(serial);
|
||||
_proto("Tx CONN ABORT %%%u { %d }", serial, conn->abort_code);
|
||||
|
||||
@ -321,7 +324,7 @@ static int rxrpc_process_event(struct rxrpc_connection *conn,
|
||||
conn->error = -ECONNABORTED;
|
||||
conn->abort_code = abort_code;
|
||||
conn->state = RXRPC_CONN_REMOTELY_ABORTED;
|
||||
rxrpc_abort_calls(conn, RXRPC_CALL_REMOTELY_ABORTED);
|
||||
rxrpc_abort_calls(conn, RXRPC_CALL_REMOTELY_ABORTED, sp->hdr.serial);
|
||||
return -ECONNABORTED;
|
||||
|
||||
case RXRPC_PACKET_TYPE_CHALLENGE:
|
||||
|
Loading…
Reference in New Issue
Block a user