rxrpc: Don't assume transport address family and size when using it
Don't assume transport address family and size when using the peer address to send a packet. Instead, use the start of the transport address rather than any particular element of the union and use the transport address length noted inside the sockaddr_rxrpc struct. This will be necessary when IPv6 support is introduced. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
843099cac0
commit
6dd050f88d
|
@ -833,8 +833,8 @@ void rxrpc_process_call(struct work_struct *work)
|
|||
|
||||
/* there's a good chance we're going to have to send a message, so set
|
||||
* one up in advance */
|
||||
msg.msg_name = &call->conn->trans->peer->srx.transport.sin;
|
||||
msg.msg_namelen = sizeof(call->conn->trans->peer->srx.transport.sin);
|
||||
msg.msg_name = &call->conn->trans->peer->srx.transport;
|
||||
msg.msg_namelen = call->conn->trans->peer->srx.transport_len;
|
||||
msg.msg_control = NULL;
|
||||
msg.msg_controllen = 0;
|
||||
msg.msg_flags = 0;
|
||||
|
|
|
@ -86,8 +86,8 @@ static int rxrpc_abort_connection(struct rxrpc_connection *conn,
|
|||
|
||||
rxrpc_abort_calls(conn, RXRPC_CALL_LOCALLY_ABORTED, abort_code);
|
||||
|
||||
msg.msg_name = &conn->trans->peer->srx.transport.sin;
|
||||
msg.msg_namelen = sizeof(conn->trans->peer->srx.transport.sin);
|
||||
msg.msg_name = &conn->trans->peer->srx.transport;
|
||||
msg.msg_namelen = conn->trans->peer->srx.transport_len;
|
||||
msg.msg_control = NULL;
|
||||
msg.msg_controllen = 0;
|
||||
msg.msg_flags = 0;
|
||||
|
|
Loading…
Reference in New Issue