From b2c43efc3c8d9cda34eb8421249d15e6fed4d650 Mon Sep 17 00:00:00 2001 From: Thorsten Blum Date: Thu, 18 Sep 2025 18:24:47 +0200 Subject: [PATCH] initrd: Replace simple_strtol with kstrtoint to improve ramdisk_start_setup Replace simple_strtol() with the recommended kstrtoint() for parsing the 'ramdisk_start=' boot parameter. Unlike simple_strtol(), which returns a a long, kstrtoint() converts the string directly to an integer and avoids implicit casting. Check the return value of kstrtoint() and reject invalid values. This adds error handling while preserving existing behavior for valid values, and removes use of the deprecated simple_strtol() helper. Signed-off-by: Thorsten Blum Reviewed-by: Jan Kara Signed-off-by: Christian Brauner --- init/do_mounts_rd.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/init/do_mounts_rd.c b/init/do_mounts_rd.c index 19d9f33dcacf8..eddbe5cb0413a 100644 --- a/init/do_mounts_rd.c +++ b/init/do_mounts_rd.c @@ -29,8 +29,7 @@ int __initdata rd_image_start; /* starting block # of image */ static int __init ramdisk_start_setup(char *str) { - rd_image_start = simple_strtol(str,NULL,0); - return 1; + return kstrtoint(str, 0, &rd_image_start) == 0; } __setup("ramdisk_start=", ramdisk_start_setup); -- 2.47.3