aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
authorMike Rapoport (Microsoft) <rppt@kernel.org>2026-03-23 09:48:34 +0200
committerMike Rapoport (Microsoft) <rppt@kernel.org>2026-04-01 11:20:15 +0300
commitb2129a39511b71b5ed0ae923d6eebd9398c6184e (patch)
tree98177f13b1c507361fa8c2f95f5571a55de2b553 /init
parent7fbc5e26123e5fee1f0eb59e6fabf5ce4cf4f475 (diff)
downloadlinux-next-history-b2129a39511b71b5ed0ae923d6eebd9398c6184e.tar.gz
memblock: make free_reserved_area() update memblock if ARCH_KEEP_MEMBLOCK=y
On architectures that keep memblock after boot, freeing of reserved memory with free_reserved_area() is paired with an update of memblock arrays, usually by a call to memblock_free(). Make free_reserved_area() directly update memblock.reserved when ARCH_KEEP_MEMBLOCK is enabled. Remove the now-redundant explicit memblock_free() call from arm64::free_initmem() and the #ifdef CONFIG_ARCH_KEEP_MEMBLOCK block from the generic free_initrd_mem(). Link: https://patch.msgid.link/20260323074836.3653702-8-rppt@kernel.org Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Diffstat (limited to 'init')
-rw-r--r--init/initramfs.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/init/initramfs.c b/init/initramfs.c
index 139baed06589a..bca0922b28508 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -652,13 +652,6 @@ disable:
void __weak __init free_initrd_mem(unsigned long start, unsigned long end)
{
-#ifdef CONFIG_ARCH_KEEP_MEMBLOCK
- unsigned long aligned_start = ALIGN_DOWN(start, PAGE_SIZE);
- unsigned long aligned_end = ALIGN(end, PAGE_SIZE);
-
- memblock_free((void *)aligned_start, aligned_end - aligned_start);
-#endif
-
free_reserved_area((void *)start, (void *)end, POISON_FREE_INITMEM,
"initrd");
}