Re: [PATCH] namespace: Replace simple_strtoul with kstrtoul to parse boot params

From: Jan Kara

Date: Mon Dec 15 2025 - 04:15:36 EST


On Sun 14-12-25 16:31:42, Thorsten Blum wrote:
> Replace simple_strtoul() with the recommended kstrtoul() for parsing the
> 'mhash_entries=' and 'mphash_entries=' boot parameters.
>
> Check the return value of kstrtoul() and reject invalid values. This
> adds error handling while preserving behavior for existing values, and
> removes use of the deprecated simple_strtoul() helper.
>
> Signed-off-by: Thorsten Blum <thorsten.blum@xxxxxxxxx>

...

> @@ -49,20 +49,14 @@ static unsigned int mp_hash_shift __ro_after_init;
> static __initdata unsigned long mhash_entries;
> static int __init set_mhash_entries(char *str)
> {
> - if (!str)
> - return 0;
> - mhash_entries = simple_strtoul(str, &str, 0);
> - return 1;
> + return kstrtoul(str, 0, &mhash_entries) == 0;
> }
> __setup("mhash_entries=", set_mhash_entries);

I'm not very experienced with the cmdline option parsing but AFAICT the
'str' argument can be indeed NULL and kstrtoul() will not be happy with
that?

> static __initdata unsigned long mphash_entries;
> static int __init set_mphash_entries(char *str)
> {
> - if (!str)
> - return 0;
> - mphash_entries = simple_strtoul(str, &str, 0);
> - return 1;
> + return kstrtoul(str, 0, &mphash_entries) == 0;
> }
> __setup("mphash_entries=", set_mphash_entries);

Similar here.

Honza
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR