Commit 5300fdcb authored by Thomas Graf's avatar Thomas Graf Committed by David S. Miller

rhashtable: RCU annotations for next pointers

Properly annotate next pointers as access is RCU protected in
the lookup path.
Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0c9ab092
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
#include <linux/rculist.h> #include <linux/rculist.h>
struct rhash_head { struct rhash_head {
struct rhash_head *next; struct rhash_head __rcu *next;
}; };
#define INIT_HASH_HEAD(ptr) ((ptr)->next = NULL) #define INIT_HASH_HEAD(ptr) ((ptr)->next = NULL)
...@@ -97,7 +97,7 @@ u32 rhashtable_obj_hashfn(const struct rhashtable *ht, void *ptr); ...@@ -97,7 +97,7 @@ u32 rhashtable_obj_hashfn(const struct rhashtable *ht, void *ptr);
void rhashtable_insert(struct rhashtable *ht, struct rhash_head *node, gfp_t); void rhashtable_insert(struct rhashtable *ht, struct rhash_head *node, gfp_t);
bool rhashtable_remove(struct rhashtable *ht, struct rhash_head *node, gfp_t); bool rhashtable_remove(struct rhashtable *ht, struct rhash_head *node, gfp_t);
void rhashtable_remove_pprev(struct rhashtable *ht, struct rhash_head *obj, void rhashtable_remove_pprev(struct rhashtable *ht, struct rhash_head *obj,
struct rhash_head **pprev, gfp_t flags); struct rhash_head __rcu **pprev, gfp_t flags);
bool rht_grow_above_75(const struct rhashtable *ht, size_t new_size); bool rht_grow_above_75(const struct rhashtable *ht, size_t new_size);
bool rht_shrink_below_30(const struct rhashtable *ht, size_t new_size); bool rht_shrink_below_30(const struct rhashtable *ht, size_t new_size);
......
...@@ -386,7 +386,7 @@ EXPORT_SYMBOL_GPL(rhashtable_insert); ...@@ -386,7 +386,7 @@ EXPORT_SYMBOL_GPL(rhashtable_insert);
* deletion when combined with walking or lookup. * deletion when combined with walking or lookup.
*/ */
void rhashtable_remove_pprev(struct rhashtable *ht, struct rhash_head *obj, void rhashtable_remove_pprev(struct rhashtable *ht, struct rhash_head *obj,
struct rhash_head **pprev, gfp_t flags) struct rhash_head __rcu **pprev, gfp_t flags)
{ {
struct bucket_table *tbl = rht_dereference(ht->tbl, ht); struct bucket_table *tbl = rht_dereference(ht->tbl, ht);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment