ipv6: xfrm6_tunnel.c: Use built-in RCU list checking
authorMadhuparna Bhowmik <madhuparnabhowmik10@gmail.com>
Fri, 21 Feb 2020 16:24:47 +0000 (21:54 +0530)
committerSteffen Klassert <steffen.klassert@secunet.com>
Thu, 27 Feb 2020 09:17:41 +0000 (10:17 +0100)
hlist_for_each_entry_rcu() has built-in RCU and lock checking.

Pass cond argument to list_for_each_entry_rcu() to silence
false lockdep warning when CONFIG_PROVE_RCU_LIST is enabled
by default.

Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/ipv6/xfrm6_tunnel.c

index e11bdb0..25b7ebd 100644 (file)
@@ -78,7 +78,7 @@ static struct xfrm6_tunnel_spi *__xfrm6_tunnel_spi_lookup(struct net *net, const
 
        hlist_for_each_entry_rcu(x6spi,
                             &xfrm6_tn->spi_byaddr[xfrm6_tunnel_spi_hash_byaddr(saddr)],
-                            list_byaddr) {
+                            list_byaddr, lockdep_is_held(&xfrm6_tunnel_spi_lock)) {
                if (xfrm6_addr_equal(&x6spi->addr, saddr))
                        return x6spi;
        }