X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2Frhashtable.c;h=51282f5797606545330a29e93b3728d843616ea9;hb=d5b8a8a44ceb4250adc1847e02c2d7af7c8cbbc5;hp=eb9240c458fad6a0c4a55b5e211ada4e6aace6b0;hpb=3dd5fc0eeb5d7cc07b8e3e383037261799b38897;p=firefly-linux-kernel-4.4.55.git diff --git a/lib/rhashtable.c b/lib/rhashtable.c index eb9240c458fa..51282f579760 100644 --- a/lib/rhashtable.c +++ b/lib/rhashtable.c @@ -519,7 +519,8 @@ int rhashtable_walk_init(struct rhashtable *ht, struct rhashtable_iter *iter) return -ENOMEM; spin_lock(&ht->lock); - iter->walker->tbl = rht_dereference(ht->tbl, ht); + iter->walker->tbl = + rcu_dereference_protected(ht->tbl, lockdep_is_held(&ht->lock)); list_add(&iter->walker->list, &iter->walker->tbl->walkers); spin_unlock(&ht->lock);