net: xen-netback: hash.c: Use built-in RCU list checking
authorMadhuparna Bhowmik <madhuparnabhowmik04@gmail.com>
Wed, 15 Jan 2020 15:55:53 +0000 (21:25 +0530)
committerDavid S. Miller <davem@davemloft.net>
Fri, 17 Jan 2020 09:57:22 +0000 (10:57 +0100)
list_for_each_entry_rcu has built-in RCU and lock checking.
Pass cond argument to list_for_each_entry_rcu.

Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik04@gmail.com>
Acked-by: Wei Liu <wei.liu@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/xen-netback/hash.c

index 10d580c..6b7532f 100644 (file)
@@ -51,7 +51,8 @@ static void xenvif_add_hash(struct xenvif *vif, const u8 *tag,
 
        found = false;
        oldest = NULL;
-       list_for_each_entry_rcu(entry, &vif->hash.cache.list, link) {
+       list_for_each_entry_rcu(entry, &vif->hash.cache.list, link,
+                               lockdep_is_held(&vif->hash.cache.lock)) {
                /* Make sure we don't add duplicate entries */
                if (entry->len == len &&
                    memcmp(entry->tag, tag, len) == 0)
@@ -102,7 +103,8 @@ static void xenvif_flush_hash(struct xenvif *vif)
 
        spin_lock_irqsave(&vif->hash.cache.lock, flags);
 
-       list_for_each_entry_rcu(entry, &vif->hash.cache.list, link) {
+       list_for_each_entry_rcu(entry, &vif->hash.cache.list, link,
+                               lockdep_is_held(&vif->hash.cache.lock)) {
                list_del_rcu(&entry->link);
                vif->hash.cache.count--;
                kfree_rcu(entry, rcu);