From: Thorsten Blum Date: Thu, 9 Apr 2026 16:15:59 +0000 (+0200) Subject: x86/boot/compressed: Use boot_kstrtoul() for hugepages= parsing X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7b894dac26e56eb1de7a8e198af4b994c5d6da82;p=thirdparty%2Fkernel%2Flinux.git 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 --- diff --git a/arch/x86/boot/compressed/kaslr.c b/arch/x86/boot/compressed/kaslr.c index 3b0948ad449f9..8e4bf5365ac63 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; } }