aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2016-04-07 12:23:44 -0400
committerDavid S. Miller <davem@davemloft.net>2016-04-11 15:34:41 -0400
commit6dd050f88d702e2718bd856ea014487563207756 (patch)
tree75ef4a06ea9ef40f1d75dfbc4252f46218fc5364
parent843099cac0dbe421d7c3ea1f8662251fd7065731 (diff)
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>
-rw-r--r--net/rxrpc/ar-ack.c4
-rw-r--r--net/rxrpc/ar-connevent.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/net/rxrpc/ar-ack.c b/net/rxrpc/ar-ack.c
index d0eb98e1391c..3cd9264806a4 100644
--- a/net/rxrpc/ar-ack.c
+++ b/net/rxrpc/ar-ack.c
@@ -833,8 +833,8 @@ void rxrpc_process_call(struct work_struct *work)
833 833
834 /* there's a good chance we're going to have to send a message, so set 834 /* there's a good chance we're going to have to send a message, so set
835 * one up in advance */ 835 * one up in advance */
836 msg.msg_name = &call->conn->trans->peer->srx.transport.sin; 836 msg.msg_name = &call->conn->trans->peer->srx.transport;
837 msg.msg_namelen = sizeof(call->conn->trans->peer->srx.transport.sin); 837 msg.msg_namelen = call->conn->trans->peer->srx.transport_len;
838 msg.msg_control = NULL; 838 msg.msg_control = NULL;
839 msg.msg_controllen = 0; 839 msg.msg_controllen = 0;
840 msg.msg_flags = 0; 840 msg.msg_flags = 0;
diff --git a/net/rxrpc/ar-connevent.c b/net/rxrpc/ar-connevent.c
index 4dc6ab81fd2f..291522392ac7 100644
--- a/net/rxrpc/ar-connevent.c
+++ b/net/rxrpc/ar-connevent.c
@@ -86,8 +86,8 @@ static int rxrpc_abort_connection(struct rxrpc_connection *conn,
86 86
87 rxrpc_abort_calls(conn, RXRPC_CALL_LOCALLY_ABORTED, abort_code); 87 rxrpc_abort_calls(conn, RXRPC_CALL_LOCALLY_ABORTED, abort_code);
88 88
89 msg.msg_name = &conn->trans->peer->srx.transport.sin; 89 msg.msg_name = &conn->trans->peer->srx.transport;
90 msg.msg_namelen = sizeof(conn->trans->peer->srx.transport.sin); 90 msg.msg_namelen = conn->trans->peer->srx.transport_len;
91 msg.msg_control = NULL; 91 msg.msg_control = NULL;
92 msg.msg_controllen = 0; 92 msg.msg_controllen = 0;
93 msg.msg_flags = 0; 93 msg.msg_flags = 0;