[PATCH 1/3] x86/setup: Fix logged allocation range in relocate_initrd()
From: Thorsten Blum
Date: Wed Aug 26 2026 - 14:15:54 EST
Since commit c967da6a0ba8 ("x86: Make sure free_init_pages() frees pages
on page boundary"), relocate_initrd() allocates area_size bytes, which
is ramdisk_size rounded up to a page boundary. However, the log still
uses the potentially smaller ramdisk_size to calculate the end of the
allocated range and can report it as too short.
Use area_size instead.
Fixes: c967da6a0ba8 ("x86: Make sure free_init_pages() frees pages on page boundary")
Signed-off-by: Thorsten Blum <blum@xxxxxxxxxx>
---
arch/x86/kernel/setup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index cda6adb9f69c..1fede9834835 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -334,7 +334,7 @@ static void __init relocate_initrd(void)
initrd_start = relocated_ramdisk + PAGE_OFFSET;
initrd_end = initrd_start + ramdisk_size;
printk(KERN_INFO "Allocated new RAMDISK: [mem %#010llx-%#010llx]\n",
- relocated_ramdisk, relocated_ramdisk + ramdisk_size - 1);
+ relocated_ramdisk, relocated_ramdisk + area_size - 1);
ret = copy_from_early_mem((void *)initrd_start, ramdisk_image, ramdisk_size);
if (ret)