[SCTP]: Switch sctp_bind_addr_match() to net-endian.
Callers adjusted.
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 72199d1..8d841f1 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -930,6 +930,8 @@
const union sctp_addr *paddr)
{
struct sctp_transport *transport;
+ union sctp_addr tmp;
+ flip_to_n(&tmp, laddr);
sctp_read_lock(&asoc->base.addr_lock);
@@ -939,7 +941,7 @@
if (!transport)
goto out;
- if (sctp_bind_addr_match(&asoc->base.bind_addr, laddr,
+ if (sctp_bind_addr_match(&asoc->base.bind_addr, &tmp,
sctp_sk(asoc->base.sk)))
goto out;
}
@@ -1342,12 +1344,10 @@
const union sctp_addr *laddr)
{
int found;
- union sctp_addr tmp;
- flip_to_h(&tmp, laddr);
sctp_read_lock(&asoc->base.addr_lock);
if ((asoc->base.bind_addr.port == ntohs(laddr->v4.sin_port)) &&
- sctp_bind_addr_match(&asoc->base.bind_addr, &tmp,
+ sctp_bind_addr_match(&asoc->base.bind_addr, laddr,
sctp_sk(asoc->base.sk))) {
found = 1;
goto out;
diff --git a/net/sctp/bind_addr.c b/net/sctp/bind_addr.c
index 9085e53..442d891 100644
--- a/net/sctp/bind_addr.c
+++ b/net/sctp/bind_addr.c
@@ -307,12 +307,10 @@
{
struct sctp_sockaddr_entry *laddr;
struct list_head *pos;
- union sctp_addr tmp;
- flip_to_n(&tmp, addr);
list_for_each(pos, &bp->address_list) {
laddr = list_entry(pos, struct sctp_sockaddr_entry, list);
- if (opt->pf->cmp_addr(&laddr->a, &tmp, opt))
+ if (opt->pf->cmp_addr(&laddr->a, addr, opt))
return 1;
}
diff --git a/net/sctp/endpointola.c b/net/sctp/endpointola.c
index 75904b0..d77fe92 100644
--- a/net/sctp/endpointola.c
+++ b/net/sctp/endpointola.c
@@ -228,10 +228,12 @@
const union sctp_addr *laddr)
{
struct sctp_endpoint *retval;
+ union sctp_addr tmp;
+ flip_to_n(&tmp, laddr);
sctp_read_lock(&ep->base.addr_lock);
if (ep->base.bind_addr.port == laddr->v4.sin_port) {
- if (sctp_bind_addr_match(&ep->base.bind_addr, laddr,
+ if (sctp_bind_addr_match(&ep->base.bind_addr, &tmp,
sctp_sk(ep->base.sk))) {
retval = ep;
goto out;
diff --git a/net/sctp/socket.c b/net/sctp/socket.c
index e03ba90..d42953e 100644
--- a/net/sctp/socket.c
+++ b/net/sctp/socket.c
@@ -4635,11 +4635,9 @@
{
struct sctp_bind_hashbucket *head; /* hash list */
struct sctp_bind_bucket *pp; /* hash list port iterator */
- union sctp_addr tmp;
unsigned short snum;
int ret;
- flip_to_h(&tmp, addr);
snum = ntohs(addr->v4.sin_port);
SCTP_DEBUG_PRINTK("sctp_get_port() begins, snum=%d\n", snum);
@@ -4737,7 +4735,7 @@
if (reuse && sk2->sk_reuse)
continue;
- if (sctp_bind_addr_match(&ep2->base.bind_addr, &tmp,
+ if (sctp_bind_addr_match(&ep2->base.bind_addr, addr,
sctp_sk(sk))) {
ret = (long)sk2;
goto fail_unlock;