Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/wireless/rt2x00/rt2x00dev.c net/8021q/vlan_dev.c
This commit is contained in:
@@ -337,14 +337,14 @@ static int sctp_v4_cmp_addr(const union sctp_addr *addr1,
|
||||
static void sctp_v4_inaddr_any(union sctp_addr *addr, __be16 port)
|
||||
{
|
||||
addr->v4.sin_family = AF_INET;
|
||||
addr->v4.sin_addr.s_addr = INADDR_ANY;
|
||||
addr->v4.sin_addr.s_addr = htonl(INADDR_ANY);
|
||||
addr->v4.sin_port = port;
|
||||
}
|
||||
|
||||
/* Is this a wildcard address? */
|
||||
static int sctp_v4_is_any(const union sctp_addr *addr)
|
||||
{
|
||||
return INADDR_ANY == addr->v4.sin_addr.s_addr;
|
||||
return htonl(INADDR_ANY) == addr->v4.sin_addr.s_addr;
|
||||
}
|
||||
|
||||
/* This function checks if the address is a valid address to be used for
|
||||
@@ -375,7 +375,7 @@ static int sctp_v4_available(union sctp_addr *addr, struct sctp_sock *sp)
|
||||
int ret = inet_addr_type(&init_net, addr->v4.sin_addr.s_addr);
|
||||
|
||||
|
||||
if (addr->v4.sin_addr.s_addr != INADDR_ANY &&
|
||||
if (addr->v4.sin_addr.s_addr != htonl(INADDR_ANY) &&
|
||||
ret != RTN_LOCAL &&
|
||||
!sp->inet.freebind &&
|
||||
!sysctl_ip_nonlocal_bind)
|
||||
@@ -628,6 +628,7 @@ static int sctp_inetaddr_event(struct notifier_block *this, unsigned long ev,
|
||||
struct in_ifaddr *ifa = (struct in_ifaddr *)ptr;
|
||||
struct sctp_sockaddr_entry *addr = NULL;
|
||||
struct sctp_sockaddr_entry *temp;
|
||||
int found = 0;
|
||||
|
||||
if (ifa->ifa_dev->dev->nd_net != &init_net)
|
||||
return NOTIFY_DONE;
|
||||
@@ -650,13 +651,14 @@ static int sctp_inetaddr_event(struct notifier_block *this, unsigned long ev,
|
||||
list_for_each_entry_safe(addr, temp,
|
||||
&sctp_local_addr_list, list) {
|
||||
if (addr->a.v4.sin_addr.s_addr == ifa->ifa_local) {
|
||||
found = 1;
|
||||
addr->valid = 0;
|
||||
list_del_rcu(&addr->list);
|
||||
break;
|
||||
}
|
||||
}
|
||||
spin_unlock_bh(&sctp_local_addr_lock);
|
||||
if (addr && !addr->valid)
|
||||
if (found)
|
||||
call_rcu(&addr->rcu, sctp_local_addr_free);
|
||||
break;
|
||||
}
|
||||
@@ -786,8 +788,8 @@ static int sctp_inet_cmp_addr(const union sctp_addr *addr1,
|
||||
/* PF_INET only supports AF_INET addresses. */
|
||||
if (addr1->sa.sa_family != addr2->sa.sa_family)
|
||||
return 0;
|
||||
if (INADDR_ANY == addr1->v4.sin_addr.s_addr ||
|
||||
INADDR_ANY == addr2->v4.sin_addr.s_addr)
|
||||
if (htonl(INADDR_ANY) == addr1->v4.sin_addr.s_addr ||
|
||||
htonl(INADDR_ANY) == addr2->v4.sin_addr.s_addr)
|
||||
return 1;
|
||||
if (addr1->v4.sin_addr.s_addr == addr2->v4.sin_addr.s_addr)
|
||||
return 1;
|
||||
|
Reference in New Issue
Block a user