[PATCH] rhashtable: fix false-positive lockdep splat on rhltable destruction
Florian Westphal <[email protected]> Wed, 22 Jul 2026 12:27:48 +0200
| Newsgroups | org.kernel.vger.linux-crypto |
|---|---|
| Message-ID | <[email protected]> |
Blamed commit removed ht->mutex usage during destruction but forgot to
switch rhashtable_free_one() to rcu_dereference_raw(), this triggers a
lockdep splat when an rhltable gets zapped.
Fixes: 09ae540e1d5c ("rhashtable: drop ht->mutex in rhashtable_free_and_destroy()")
Signed-off-by: Florian Westphal <[email protected]>
---
lib/rhashtable.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/rhashtable.c b/lib/rhashtable.c
index 40cfb38ac919..68de5019abbf 100644
--- a/lib/rhashtable.c
+++ b/lib/rhashtable.c
@@ -1260,7 +1260,7 @@ static void rhashtable_free_one(struct rhashtable *ht, struct rhash_head *obj,
list = container_of(obj, struct rhlist_head, rhead);
do {
obj = &list->rhead;
- list = rht_dereference(list->next, ht);
+ list = rcu_dereference_raw(list->next);
free_fn(rht_obj(ht, obj), arg);
} while (list);
}
--
2.54.0