[PATCH 6.12.y 0/2] mm/slab: fix unbounded recursion in free path with memalloc profiling
From: Harry Yoo (Oracle)
Date: Thu Aug 06 2026 - 01:38:04 EST
This is backport of "mm/slab: fix unbounded recursion in free path with
memalloc profiling" series [1] for 6.12.y.
The patch 1 was adjusted for 6.12 as mem_profiling_support is marked
__init in 6.12. I simply resolved this by marking
mem_alloc_profiling_permanently_disabled() __init since in 6.12 we need
it only when creating kmalloc-no-objext-* caches during the boot
process.
Patch 2 has slight functional differences compared to mainline
due to lack of SLAB_ALLOC_* flags, sheaves, and kmalloc_nolock().
I described those subtlties in the backporting notes in detail.
The first two patches from the original patchset [1] are not backported
to 6.12.y as they are no-op in 6.12.y:
- mm/slab: fix a memory leak due to bootstrapping sheaves twice
- mm/slab: decouple SLAB_NO_SHEAVES from SLAB_NO_OBJ_EXT
[1] https://lore.kernel.org/all/20260713-kmalloc-no-objext-v3-0-47c7bd138de7@xxxxxxxxxx
To: Suren Baghdasaryan <surenb@xxxxxxxxxx>
To: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
To: Vlastimil Babka <vbabka@xxxxxxxxxx>
To: Christoph Lameter <cl@xxxxxxxxxx>
To: David Rientjes <rientjes@xxxxxxxxxx>
To: Roman Gushchin <roman.gushchin@xxxxxxxxx>
To: Harry Yoo <harry@xxxxxxxxxx>
To: Kees Cook <kees@xxxxxxxxxx>
To: Danielle Costantino <dcostantino@xxxxxxxx>
To: Shakeel Butt <shakeel.butt@xxxxxxxxx>
To: Hao Ge <hao.ge@xxxxxxxxx>
To: Hao Li <hao.li@xxxxxxxxx>
To: Pedro Falcato <pfalcato@xxxxxxx>,
To: "Liam R . Howlett" <liam@xxxxxxxxxxxxx>
Cc: linux-mm@xxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Harry Yoo <harry@xxxxxxxxxx>
---
Harry Yoo (Oracle) (2):
lib/alloc_tag: introduce mem_alloc_profiling_permanently_disabled()
mm/slab: prevent unbounded recursion in free path with new kmalloc type
include/linux/alloc_tag.h | 3 +++
include/linux/slab.h | 8 +++++++-
lib/alloc_tag.c | 9 +++++++++
mm/slab.h | 28 ++++++++++++++++++++++++++--
mm/slab_common.c | 13 +++++++++++++
mm/slub.c | 34 +++++++++++++++++++++++-----------
6 files changed, 81 insertions(+), 14 deletions(-)
---
base-commit: 833291ee77846538926c990bcb468f6f54e9af50
change-id: 20260804-kmalloc-no-objext-for-6-12-y-bedd8e852aeb
Best regards,
--
Cheers,
Harry / Hyeonggon