author: David S. Miller <davem@davemloft.net> 2015-12-31 18:20:10 -0500
committer: David S. Miller <davem@davemloft.net> 2015-12-31 18:20:10 -0500
commit: c07f30ad68053181b3e8a0e65b0630e12e844f91
parent: 7b22a7788b0263f42f7232c5c05c503424ffa0ba
Commit Summary:
Diffstat:
1 file changed, 2 insertions, 1 deletion
diff --git a/lib/rhashtable.c b/lib/rhashtable.c
index 1c149e9a5cd5..cc808707d1cf 100644
--- a/lib/rhashtable.c
+++ b/lib/rhashtable.c
@@ -516,7 +516,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);