[PATCH 2/2] mm: move alloc tag to mm
From: Suren Baghdasaryan
Date: Thu Jun 25 2026 - 14:50:16 EST
From: Lorenzo Stoakes <ljs@xxxxxxxxxx>
The alloc tagging work is really mm-specific, so move alloc_tag.c to mm/
and additionally update the MAINTAINERS entry to place it within memory
management and port over the Kconfig and Makefile code to mm.
Signed-off-by: Lorenzo Stoakes <ljs@xxxxxxxxxx>
Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
---
MAINTAINERS | 20 ++++++++++----------
lib/Kconfig.debug | 28 ----------------------------
lib/Makefile | 1 -
mm/Kconfig.debug | 28 ++++++++++++++++++++++++++++
mm/Makefile | 1 +
{lib => mm}/alloc_tag.c | 0
6 files changed, 39 insertions(+), 39 deletions(-)
rename {lib => mm}/alloc_tag.c (100%)
diff --git a/MAINTAINERS b/MAINTAINERS
index 0948dc573744..3cf3cf2311e2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16704,16 +16704,6 @@ F: mm/mm_init.c
F: mm/rodata_test.c
F: tools/testing/memblock/
-MEMORY ALLOCATION PROFILING
-M: Suren Baghdasaryan <surenb@xxxxxxxxxx>
-R: Hao Ge <hao.ge@xxxxxxxxx>
-L: linux-mm@xxxxxxxxx
-S: Maintained
-F: Documentation/mm/allocation-profiling.rst
-F: include/linux/alloc_tag.h
-F: include/linux/pgalloc_tag.h
-F: lib/alloc_tag.c
-
MEMORY CONTROLLER DRIVERS
M: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
L: linux-kernel@xxxxxxxxxxxxxxx
@@ -16758,6 +16748,16 @@ T: quilt git://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new
F: mm/
F: tools/mm/
+MEMORY MANAGEMENT - ALLOCATION PROFILING (ALLOC TAG)
+M: Suren Baghdasaryan <surenb@xxxxxxxxxx>
+R: Hao Ge <hao.ge@xxxxxxxxx>
+L: linux-mm@xxxxxxxxx
+S: Maintained
+F: Documentation/mm/allocation-profiling.rst
+F: include/linux/alloc_tag.h
+F: include/linux/pgalloc_tag.h
+F: mm/alloc_tag.c
+
MEMORY MANAGEMENT - BALLOON
M: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
M: David Hildenbrand <david@xxxxxxxxxx>
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 8ff5adcfe1e0..3762015522c3 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1048,34 +1048,6 @@ config CODE_TAGGING
bool
select KALLSYMS
-config MEM_ALLOC_PROFILING
- bool "Enable memory allocation profiling"
- default n
- depends on MMU
- depends on PROC_FS
- depends on !DEBUG_FORCE_WEAK_PER_CPU
- select CODE_TAGGING
- select PAGE_EXTENSION
- select SLAB_OBJ_EXT
- help
- Track allocation source code and record total allocation size
- initiated at that code location. The mechanism can be used to track
- memory leaks with a low performance and memory impact.
-
-config MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT
- bool "Enable memory allocation profiling by default"
- default y
- depends on MEM_ALLOC_PROFILING
-
-config MEM_ALLOC_PROFILING_DEBUG
- bool "Memory allocation profiler debugging"
- default n
- depends on MEM_ALLOC_PROFILING
- select MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT
- help
- Adds warnings with helpful error messages for memory allocation
- profiling.
-
source "lib/Kconfig.kasan"
source "lib/Kconfig.kfence"
source "lib/Kconfig.kmsan"
diff --git a/lib/Makefile b/lib/Makefile
index f33a24bf1c19..44f6538533a9 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -197,7 +197,6 @@ obj-$(CONFIG_OF_RECONFIG_NOTIFIER_ERROR_INJECT) += \
obj-$(CONFIG_FUNCTION_ERROR_INJECTION) += error-inject.o
obj-$(CONFIG_CODE_TAGGING) += codetag.o
-obj-$(CONFIG_MEM_ALLOC_PROFILING) += alloc_tag.o
lib-$(CONFIG_GENERIC_BUG) += bug.o
diff --git a/mm/Kconfig.debug b/mm/Kconfig.debug
index 91b3e027b753..5737a504efbb 100644
--- a/mm/Kconfig.debug
+++ b/mm/Kconfig.debug
@@ -320,3 +320,31 @@ config PER_VMA_LOCK_STATS
overhead in the page fault path.
If in doubt, say N.
+
+config MEM_ALLOC_PROFILING
+ bool "Enable memory allocation profiling"
+ default n
+ depends on MMU
+ depends on PROC_FS
+ depends on !DEBUG_FORCE_WEAK_PER_CPU
+ select CODE_TAGGING
+ select PAGE_EXTENSION
+ select SLAB_OBJ_EXT
+ help
+ Track allocation source code and record total allocation size
+ initiated at that code location. The mechanism can be used to track
+ memory leaks with a low performance and memory impact.
+
+config MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT
+ bool "Enable memory allocation profiling by default"
+ default y
+ depends on MEM_ALLOC_PROFILING
+
+config MEM_ALLOC_PROFILING_DEBUG
+ bool "Memory allocation profiler debugging"
+ default n
+ depends on MEM_ALLOC_PROFILING
+ select MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT
+ help
+ Adds warnings with helpful error messages for memory allocation
+ profiling.
diff --git a/mm/Makefile b/mm/Makefile
index eff9f9e7e061..4fc713867b9b 100644
--- a/mm/Makefile
+++ b/mm/Makefile
@@ -147,3 +147,4 @@ obj-$(CONFIG_SHRINKER_DEBUG) += shrinker_debug.o
obj-$(CONFIG_EXECMEM) += execmem.o
obj-$(CONFIG_TMPFS_QUOTA) += shmem_quota.o
obj-$(CONFIG_LAZY_MMU_MODE_KUNIT_TEST) += tests/lazy_mmu_mode_kunit.o
+obj-$(CONFIG_MEM_ALLOC_PROFILING) += alloc_tag.o
diff --git a/lib/alloc_tag.c b/mm/alloc_tag.c
similarity index 100%
rename from lib/alloc_tag.c
rename to mm/alloc_tag.c
--
2.55.0.rc0.799.gd6f94ed593-goog