From 7b894dac26e56eb1de7a8e198af4b994c5d6da82 Mon Sep 17 00:00:00 2001 From: Thorsten Blum Date: Thu, 9 Apr 2026 18:15:59 +0200 Subject: [PATCH] x86/boot/compressed: Use boot_kstrtoul() for hugepages= parsing Replace simple_strtoull() with boot_kstrtoul() for parsing the hugepages= boot parameter. Unlike simple_strtoull(), boot_kstrtoul() performs strict validation and returns an error on invalid inputs instead of silently accepting partial input. Use boot_kstrtoul() to reject and warn about invalid hugepages= values. boot_kstrtoul() also converts the input directly to an unsigned long and avoids implicit casting as max_gb_huge_pages *is* an unsigned long. [ bp: Massage commit message. ] Signed-off-by: Thorsten Blum Signed-off-by: Borislav Petkov (AMD) Link: https://patch.msgid.link/20260409161600.152012-2-thorsten.blum@linux.dev --- arch/x86/boot/compressed/kaslr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/boot/compressed/kaslr.c b/arch/x86/boot/compressed/kaslr.c index 3b0948ad449f..8e4bf5365ac6 100644 --- a/arch/x86/boot/compressed/kaslr.c +++ b/arch/x86/boot/compressed/kaslr.c @@ -219,7 +219,8 @@ static void parse_gb_huge_pages(char *param, char *val) if (!strcmp(param, "hugepages") && gbpage_sz) { p = val; - max_gb_huge_pages = simple_strtoull(p, &p, 0); + if (boot_kstrtoul(p, 0, &max_gb_huge_pages)) + warn("Failed to parse hugepages= boot parameter\n"); return; } }