summaryrefslogtreecommitdiff
path: root/lib/rhashtable.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2016-01-01 02:20:10 +0300
committerDavid S. Miller <davem@davemloft.net>2016-01-01 02:20:10 +0300
commitc07f30ad68053181b3e8a0e65b0630e12e844f91 (patch)
tree8758968aabc844c435ff2a5d7d02c835fccd02a3 /lib/rhashtable.c
parent7b22a7788b0263f42f7232c5c05c503424ffa0ba (diff)
parent9c982e86dbdbaa3fb248dfc776dddda32cbc8927 (diff)
downloadlinux-c07f30ad68053181b3e8a0e65b0630e12e844f91.tar.xz
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'lib/rhashtable.c')
-rw-r--r--lib/rhashtable.c3
1 files changed, 2 insertions, 1 deletions
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);