diff options
| -rw-r--r-- | net/sctp/associola.c | 8 | ||||
| -rw-r--r-- | net/sctp/bind_addr.c | 4 | ||||
| -rw-r--r-- | net/sctp/endpointola.c | 4 | ||||
| -rw-r--r-- | net/sctp/socket.c | 4 | 
4 files changed, 9 insertions, 11 deletions
diff --git a/net/sctp/associola.c b/net/sctp/associola.c index 72199d14957..8d841f16dcb 100644 --- a/net/sctp/associola.c +++ b/net/sctp/associola.c @@ -930,6 +930,8 @@ struct sctp_transport *sctp_assoc_is_match(struct sctp_association *asoc,  					   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 @@ struct sctp_transport *sctp_assoc_is_match(struct sctp_association *asoc,  		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 @@ int sctp_assoc_lookup_laddr(struct sctp_association *asoc,  			    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 9085e531d57..442d891f68e 100644 --- a/net/sctp/bind_addr.c +++ b/net/sctp/bind_addr.c @@ -307,12 +307,10 @@ int sctp_bind_addr_match(struct sctp_bind_addr *bp,  {  	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 75904b037ec..d77fe9232dd 100644 --- a/net/sctp/endpointola.c +++ b/net/sctp/endpointola.c @@ -228,10 +228,12 @@ struct sctp_endpoint *sctp_endpoint_is_match(struct sctp_endpoint *ep,  					       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 e03ba9055eb..d42953efa35 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c @@ -4635,11 +4635,9 @@ static long sctp_get_port_local(struct sock *sk, union sctp_addr *addr)  {  	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 @@ pp_found:  			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;  |