mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 11:49:32 +00:00
ipv4: Fix __ip_dev_find() to use ifa_local instead of ifa_address.
Reported-by: Stephen Hemminger <shemminger@vyatta.com> Reported-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d276055c4e
commit
e066008b38
1 changed files with 2 additions and 2 deletions
|
@ -111,7 +111,7 @@ static inline unsigned int inet_addr_hash(struct net *net, __be32 addr)
|
|||
|
||||
static void inet_hash_insert(struct net *net, struct in_ifaddr *ifa)
|
||||
{
|
||||
unsigned int hash = inet_addr_hash(net, ifa->ifa_address);
|
||||
unsigned int hash = inet_addr_hash(net, ifa->ifa_local);
|
||||
|
||||
spin_lock(&inet_addr_hash_lock);
|
||||
hlist_add_head_rcu(&ifa->hash, &inet_addr_lst[hash]);
|
||||
|
@ -146,7 +146,7 @@ struct net_device *__ip_dev_find(struct net *net, __be32 addr, bool devref)
|
|||
|
||||
if (!net_eq(dev_net(dev), net))
|
||||
continue;
|
||||
if (ifa->ifa_address == addr) {
|
||||
if (ifa->ifa_local == addr) {
|
||||
result = dev;
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue