Commit 1c7d1fc1 authored by Al Viro's avatar Al Viro Committed by David S. Miller
Browse files

[SCTP]: Switch sctp_endpoint_is_match() to net-endian.



The only caller (__sctp_rcv_lookup_endpoint()) also switched,
its caller adjusted

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c9a08505
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -228,12 +228,10 @@ 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, &tmp,
	if (htons(ep->base.bind_addr.port) == laddr->v4.sin_port) {
		if (sctp_bind_addr_match(&ep->base.bind_addr, laddr,
					 sctp_sk(ep->base.sk))) {
			retval = ep;
			goto out;
+5 −2
Original line number Diff line number Diff line
@@ -127,6 +127,7 @@ int sctp_rcv(struct sk_buff *skb)
	struct sctphdr *sh;
	union sctp_addr src;
	union sctp_addr dest;
	union sctp_addr tmp;
	int family;
	struct sctp_af *af;

@@ -180,8 +181,10 @@ int sctp_rcv(struct sk_buff *skb)

	asoc = __sctp_rcv_lookup(skb, &src, &dest, &transport);

	flip_to_n(&tmp, &dest);

	if (!asoc)
		ep = __sctp_rcv_lookup_endpoint(&dest);
		ep = __sctp_rcv_lookup_endpoint(&tmp);

	/* Retrieve the common input handling substructure. */
	rcvr = asoc ? &asoc->base : &ep->base;
@@ -726,7 +729,7 @@ static struct sctp_endpoint *__sctp_rcv_lookup_endpoint(const union sctp_addr *l
	struct sctp_endpoint *ep;
	int hash;

	hash = sctp_ep_hashfn(laddr->v4.sin_port);
	hash = sctp_ep_hashfn(ntohs(laddr->v4.sin_port));
	head = &sctp_ep_hashtable[hash];
	read_lock(&head->lock);
	for (epb = head->chain; epb; epb = epb->next) {