On Fri, May 04, 2018 at 01:54:14PM +1000, NeilBrown wrote: > If two threads run nested_table_alloc() at the same time > they could both allocate a new table. > Best case is that one of them will never be freed, leaking memory. > Worst case is hat entry get stored there before it leaks, > and the are lost from the table. > > So use cmpxchg to detect the race and free the unused table. > > Fixes: da20420f83ea ("rhashtable: Add nested tables") > Cc: sta...@vger.kernel.org # 4.11+ > Signed-off-by: NeilBrown <ne...@suse.com>
What about the spinlock that's meant to be held around this operation? Cheers, -- Email: Herbert Xu <herb...@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt