From: David S. Miller Date: Thu, 3 Mar 2011 19:24:19 +0000 (-0800) Subject: ipv4: Fix __ip_dev_find() to use ifa_local instead of ifa_address. X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=e066008b38ca9ace1b6de8dbbac8ed460640791d;p=linux-beck.git ipv4: Fix __ip_dev_find() to use ifa_local instead of ifa_address. Reported-by: Stephen Hemminger Reported-by: Julian Anastasov Signed-off-by: David S. Miller --- diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index 90389281d97a..ff53860d1e56 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c @@ -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; }