aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2006-11-20 20:06:24 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-12-03 00:26:35 -0500
commit854d43a465cc8ba8e501320b3bc27359d909da2f (patch)
tree6a1d4d5aa91eb4a945f79e3a1420b541705b32a5
parentacd2bc96e19535fcd74c6eb94532c19c817857bd (diff)
[SCTP]: Annotate ->dst_saddr()
switched to taking a pointer to net-endian sctp_addr and a net-endian port number. Instances and callers adjusted; interestingly enough, the only calls are direct calls of specific instances - the method is not used at all. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/net/sctp/structs.h2
-rw-r--r--net/sctp/ipv6.c2
-rw-r--r--net/sctp/protocol.c8
3 files changed, 5 insertions, 7 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 2c35f2fd560..1616a38a0be 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -559,7 +559,7 @@ struct sctp_af {
559 struct net_device *); 559 struct net_device *);
560 void (*dst_saddr) (union sctp_addr *saddr, 560 void (*dst_saddr) (union sctp_addr *saddr,
561 struct dst_entry *dst, 561 struct dst_entry *dst,
562 unsigned short port); 562 __be16 port);
563 int (*cmp_addr) (const union sctp_addr *addr1, 563 int (*cmp_addr) (const union sctp_addr *addr1,
564 const union sctp_addr *addr2); 564 const union sctp_addr *addr2);
565 void (*addr_copy) (union sctp_addr *dst, 565 void (*addr_copy) (union sctp_addr *dst,
diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c
index 8ebd177296b..6139d1d964e 100644
--- a/net/sctp/ipv6.c
+++ b/net/sctp/ipv6.c
@@ -434,7 +434,7 @@ static int sctp_v6_to_addr_param(const union sctp_addr *addr,
434 434
435/* Initialize a sctp_addr from a dst_entry. */ 435/* Initialize a sctp_addr from a dst_entry. */
436static void sctp_v6_dst_saddr(union sctp_addr *addr, struct dst_entry *dst, 436static void sctp_v6_dst_saddr(union sctp_addr *addr, struct dst_entry *dst,
437 unsigned short port) 437 __be16 port)
438{ 438{
439 struct rt6_info *rt = (struct rt6_info *)dst; 439 struct rt6_info *rt = (struct rt6_info *)dst;
440 addr->sa.sa_family = AF_INET6; 440 addr->sa.sa_family = AF_INET6;
diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c
index 2db140e901d..d1fbd1f5c6d 100644
--- a/net/sctp/protocol.c
+++ b/net/sctp/protocol.c
@@ -316,7 +316,7 @@ static int sctp_v4_to_addr_param(const union sctp_addr *addr,
316 316
317/* Initialize a sctp_addr from a dst_entry. */ 317/* Initialize a sctp_addr from a dst_entry. */
318static void sctp_v4_dst_saddr(union sctp_addr *saddr, struct dst_entry *dst, 318static void sctp_v4_dst_saddr(union sctp_addr *saddr, struct dst_entry *dst,
319 unsigned short port) 319 __be16 port)
320{ 320{
321 struct rtable *rt = (struct rtable *)dst; 321 struct rtable *rt = (struct rtable *)dst;
322 saddr->v4.sin_family = AF_INET; 322 saddr->v4.sin_family = AF_INET;
@@ -478,14 +478,12 @@ static struct dst_entry *sctp_v4_get_dst(struct sctp_association *asoc,
478 */ 478 */
479 sctp_read_lock(addr_lock); 479 sctp_read_lock(addr_lock);
480 list_for_each(pos, &bp->address_list) { 480 list_for_each(pos, &bp->address_list) {
481 union sctp_addr tmp;
482 laddr = list_entry(pos, struct sctp_sockaddr_entry, 481 laddr = list_entry(pos, struct sctp_sockaddr_entry,
483 list); 482 list);
484 if (!laddr->use_as_src) 483 if (!laddr->use_as_src)
485 continue; 484 continue;
486 sctp_v4_dst_saddr(&dst_saddr, dst, bp->port); 485 sctp_v4_dst_saddr(&dst_saddr, dst, htons(bp->port));
487 flip_to_n(&tmp, &dst_saddr); 486 if (sctp_v4_cmp_addr(&dst_saddr, &laddr->a))
488 if (sctp_v4_cmp_addr(&tmp, &laddr->a))
489 goto out_unlock; 487 goto out_unlock;
490 } 488 }
491 sctp_read_unlock(addr_lock); 489 sctp_read_unlock(addr_lock);