ipv6: addrconf: do not block BH in ipv6_chk_home_addr()
authorEric Dumazet <edumazet@google.com>
Mon, 23 Oct 2017 23:17:51 +0000 (16:17 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Oct 2017 08:54:19 +0000 (17:54 +0900)
rcu_read_lock() is enough here, no need to block BH.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/addrconf.c

index 9232e95..5a8a102 100644 (file)
@@ -4248,8 +4248,8 @@ int ipv6_chk_home_addr(struct net *net, const struct in6_addr *addr)
        struct inet6_ifaddr *ifp = NULL;
        int ret = 0;
 
-       rcu_read_lock_bh();
-       hlist_for_each_entry_rcu_bh(ifp, &inet6_addr_lst[hash], addr_lst) {
+       rcu_read_lock();
+       hlist_for_each_entry_rcu(ifp, &inet6_addr_lst[hash], addr_lst) {
                if (!net_eq(dev_net(ifp->idev->dev), net))
                        continue;
                if (ipv6_addr_equal(&ifp->addr, addr) &&
@@ -4258,7 +4258,7 @@ int ipv6_chk_home_addr(struct net *net, const struct in6_addr *addr)
                        break;
                }
        }
-       rcu_read_unlock_bh();
+       rcu_read_unlock();
        return ret;
 }
 #endif