Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@
#include <linux/rculist.h>

struct rhash_head {
	struct rhash_head		*next;
	struct rhash_head __rcu		*next;
};

#define INIT_HASH_HEAD(ptr) ((ptr)->next = NULL)
@@ -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);
bool rhashtable_remove(struct rhashtable *ht, struct rhash_head *node, gfp_t);
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_shrink_below_30(const struct rhashtable *ht, size_t new_size);
+1 −1
Original line number Diff line number Diff line
@@ -386,7 +386,7 @@ EXPORT_SYMBOL_GPL(rhashtable_insert);
 * deletion when combined with walking or lookup.
 */
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);