[tip: x86/misc] x86/mtrr: Use kstrtoul() in parse_mtrr_spare_reg()

tip-bot2 for Thorsten Blum posted 1 patch 1 month, 1 week ago
arch/x86/kernel/cpu/mtrr/cleanup.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
[tip: x86/misc] x86/mtrr: Use kstrtoul() in parse_mtrr_spare_reg()
Posted by tip-bot2 for Thorsten Blum 1 month, 1 week ago
The following commit has been merged into the x86/misc branch of tip:

Commit-ID:     9a4af5a00a8bff84d8d499e43d3424173835173c
Gitweb:        https://git.kernel.org/tip/9a4af5a00a8bff84d8d499e43d3424173835173c
Author:        Thorsten Blum <thorsten.blum@linux.dev>
AuthorDate:    Mon, 02 Mar 2026 14:53:40 +01:00
Committer:     Borislav Petkov (AMD) <bp@alien8.de>
CommitterDate: Mon, 02 Mar 2026 17:25:31 +01:00

x86/mtrr: Use kstrtoul() in parse_mtrr_spare_reg()

Replace the deprecated simple_strtoul()¹ with kstrtoul() for parsing the early
boot parameter mtrr_spare_reg_nr. simple_strtoul() silently sets
nr_mtrr_spare_reg to 0 for invalid input instead of rejecting it and keeping
the default value.

Return kstrtoul()'s retval directly to propagate parsing failures instead of
treating them as success. Also return -EINVAL when '=' is missing from the
boot parameter and 'arg' is NULL.

  ¹ https://www.kernel.org/doc/html/latest/process/deprecated.html#simple-strtol-simple-strtoll-simple-strtoul-simple-strtoull

  [ bp: Massage commit message. ]

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://patch.msgid.link/20260302135341.3473-2-thorsten.blum@linux.dev
---
 arch/x86/kernel/cpu/mtrr/cleanup.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/cpu/mtrr/cleanup.c b/arch/x86/kernel/cpu/mtrr/cleanup.c
index 763534d..e3eee9a 100644
--- a/arch/x86/kernel/cpu/mtrr/cleanup.c
+++ b/arch/x86/kernel/cpu/mtrr/cleanup.c
@@ -437,9 +437,10 @@ static unsigned long nr_mtrr_spare_reg __initdata =
 
 static int __init parse_mtrr_spare_reg(char *arg)
 {
-	if (arg)
-		nr_mtrr_spare_reg = simple_strtoul(arg, NULL, 0);
-	return 0;
+	if (!arg)
+		return -EINVAL;
+
+	return kstrtoul(arg, 0, &nr_mtrr_spare_reg);
 }
 early_param("mtrr_spare_reg_nr", parse_mtrr_spare_reg);