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