Re: Possible regression in "slab, slub: skip unnecessary kasan_cache_shutdown()"
From: Jason A. Donenfeld
Date: Tue Jun 19 2018 - 16:17:46 EST
Hi Andrey,
On Tue, Jun 19, 2018 at 7:33 PM Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> wrote:
> What's the status of CONFIG_SLUB_DEBUG in your config?
>
> AFAICS __kmem_cache_empty() is broken for CONFIG_SLUB_DEBUG=n. We use slabs_node() there
> which is always 0 for CONFIG_SLUB_DEBUG=n.
>
> The problem seems not limited to __kmem_cache_empty(), __kmem_cache_shutdown() and __kmem_cache_shrink()
> are also rely on correctness of the slabs_node(). Presumably this might cause some problems while
> destroying memcg kmem caches.
CONFIG_SLUB_DEBUG is not set in the crash I sent.
Enabling it "fixes" the problem! This either means that KASAN+SLUB
should enable SLUB_DEBUG, or the extra overhead from SLUB_DEBUG is
just making the bug more rare but not actually eliminating it.
Jason