[SCTP]: Switch ->cmp_addr() and sctp_cmp_addr_exact() to net-endian.
instances of ->cmp_addr() are fine with switching both arguments
to net-endian; callers other than in sctp_cmp_addr_exact() (both
as ->cmp_addr(...) and direct calls of instances) adjusted;
sctp_cmp_addr_exact() switched to net-endian itself and adjustment
is done in its callers
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index 83318e7..72199d1 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -666,10 +666,13 @@
struct list_head *pos;
struct list_head *temp;
struct sctp_transport *transport;
+ union sctp_addr tmp;
+
+ flip_to_n(&tmp, addr);
list_for_each_safe(pos, temp, &asoc->peer.transport_addr_list) {
transport = list_entry(pos, struct sctp_transport, transports);
- if (sctp_cmp_addr_exact(addr, &transport->ipaddr_h)) {
+ if (sctp_cmp_addr_exact(&tmp, &transport->ipaddr)) {
/* Do book keeping for removing the peer and free it. */
sctp_assoc_rm_peer(asoc, transport);
break;
@@ -684,12 +687,14 @@
{
struct sctp_transport *t;
struct list_head *pos;
+ union sctp_addr tmp;
+ flip_to_n(&tmp, address);
/* Cycle through all transports searching for a peer address. */
list_for_each(pos, &asoc->peer.transport_addr_list) {
t = list_entry(pos, struct sctp_transport, transports);
- if (sctp_cmp_addr_exact(address, &t->ipaddr_h))
+ if (sctp_cmp_addr_exact(&tmp, &t->ipaddr))
return t;
}