From: Taehee Yoo
Date: Sun, 8 Jul 2018 11:55:51 +0900
> rhashtable_free_and_destroy() cancels re-hash deferred work
> then walks and destroys elements. at this moment, some elements can be
> still in future_tbl. that elements are not destroyed.
>
> test case:
> nft_rhash_destroy() calls rhashta
On Sun, Jul 08, 2018 at 11:55:51AM +0900, Taehee Yoo wrote:
> rhashtable_free_and_destroy() cancels re-hash deferred work
> then walks and destroys elements. at this moment, some elements can be
> still in future_tbl. that elements are not destroyed.
>
> test case:
> nft_rhash_destroy() calls rhas
From: Taehee Yoo
Date: Sun, 8 Jul 2018 11:55:51 +0900
> @@ -1143,13 +1143,14 @@ void rhashtable_free_and_destroy(struct rhashtable
> *ht,
>void (*free_fn)(void *ptr, void *arg),
>void *arg)
> {
> - struct bucket_table *tbl;
>
rhashtable_free_and_destroy() cancels re-hash deferred work
then walks and destroys elements. at this moment, some elements can be
still in future_tbl. that elements are not destroyed.
test case:
nft_rhash_destroy() calls rhashtable_free_and_destroy() to destroy
all elements of sets before destroy