]> git.baikalelectronics.ru Git - kernel.git/commit
rhashtable: Fix potential crash on destroy in rhashtable_shrink
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 3 Feb 2015 20:33:22 +0000 (07:33 +1100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Feb 2015 04:34:52 +0000 (20:34 -0800)
commit9d5d683e3a050a529fb8faa356176b867ba82e35
treef919a71660f25f7d50c927df06df0d265cff2524
parentb16522bbd74d4a00ff5c5e9191b81fe5a3cd3b65
rhashtable: Fix potential crash on destroy in rhashtable_shrink

The current being_destroyed check in rhashtable_expand is not
enough since if we start a shrinking process after freeing all
elements in the table that's also going to crash.

This patch adds a being_destroyed check to the deferred worker
thread so that we bail out as soon as we take the lock.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
lib/rhashtable.c