diff options
author | Thomas Graf <tgraf@suug.ch> | 2015-03-16 10:42:27 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-03-16 21:24:13 +0100 |
commit | db4374f48a6c31c02f6ad1d19b257c186b443c0c (patch) | |
tree | 5beff1d733980c3458741777e4513682d6cd3674 | |
parent | rocker: replace fixed stack allocation with dynamic allocation (diff) | |
download | linux-db4374f48a6c31c02f6ad1d19b257c186b443c0c.tar.xz linux-db4374f48a6c31c02f6ad1d19b257c186b443c0c.zip |
rhashtable: Annotate RCU locking of walkers
Fixes the following sparse warnings:
lib/rhashtable.c:767:5: warning: context imbalance in 'rhashtable_walk_start' - wrong count at exit
lib/rhashtable.c:849:6: warning: context imbalance in 'rhashtable_walk_stop' - unexpected unlock
Fixes: f2dba9c6ff0d ("rhashtable: Introduce rhashtable_walk_*")
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | lib/rhashtable.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/rhashtable.c b/lib/rhashtable.c index c523d3a563aa..eae26a67bd18 100644 --- a/lib/rhashtable.c +++ b/lib/rhashtable.c @@ -760,6 +760,7 @@ EXPORT_SYMBOL_GPL(rhashtable_walk_exit); * by calling rhashtable_walk_next. */ int rhashtable_walk_start(struct rhashtable_iter *iter) + __acquires(RCU) { struct rhashtable *ht = iter->ht; @@ -847,6 +848,7 @@ EXPORT_SYMBOL_GPL(rhashtable_walk_next); * Finish a hash table walk. */ void rhashtable_walk_stop(struct rhashtable_iter *iter) + __releases(RCU) { struct rhashtable *ht; struct bucket_table *tbl = iter->walker->tbl; |