Re: [PATCH v2] mm, slab: clean up slab->obj_exts always
From: Andy Shevchenko
Date: Thu Apr 24 2025 - 12:48:47 EST
On Thu, Apr 24, 2025 at 07:34:29PM +0300, Andy Shevchenko wrote:
> On Mon, Apr 21, 2025 at 03:52:32PM +0800, Zhenhua Huang wrote:
> > When memory allocation profiling is disabled at runtime or due to an
> > error, shutdown_mem_profiling() is called: slab->obj_exts which
> > previously allocated remains.
> > It won't be cleared by unaccount_slab() because of
> > mem_alloc_profiling_enabled() not true. It's incorrect, slab->obj_exts
> > should always be cleaned up in unaccount_slab() to avoid following error:
> >
> > [...]BUG: Bad page state in process...
> > ..
> > [...]page dumped because: page still charged to cgroup
>
> Please, always compile test with `make W=1`. Since CONFIG_WERROR=y this
> effectively breaks the build with Clang.
FWIW, fix has just been sent:
20250424164800.2658961-1-andriy.shevchenko@xxxxxxxxxxxxxxx
--
With Best Regards,
Andy Shevchenko