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)
 
        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);