Re: [PATCH] mmc: core: convert simple_stroul to kstroul

From: Ulf Hansson
Date: Tue Sep 03 2024 - 08:38:54 EST


On Sun, 1 Sept 2024 at 20:22, Riyan Dhiman <riyandhiman14@xxxxxxxxx> wrote:
>
> simple_strtoul() is obsolete and lacks proper error handling, making it
> unsafe for converting strings to unsigned long values. Replace it with
> kstrtoul(), which provides robust error checking and better safety.
>
> This change improves the reliability of the string-to-integer conversion
> and aligns with current kernel coding standards. Error handling is added
> to catch conversion failures, returning -EINVAL when input is invalid.
>
> Issue reported by checkpatch:
> - WARNING: simple_strtoul is obsolete, use kstrtoul instead
>
> Signed-off-by: Riyan Dhiman <riyandhiman14@xxxxxxxxx>

Applied for next, thanks!

Kind regards
Uffe


> ---
> drivers/mmc/core/block.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c
> index 2c9963248fcb..140d2b3504b3 100644
> --- a/drivers/mmc/core/block.c
> +++ b/drivers/mmc/core/block.c
> @@ -307,10 +307,10 @@ static ssize_t force_ro_store(struct device *dev, struct device_attribute *attr,
> const char *buf, size_t count)
> {
> int ret;
> - char *end;
> struct mmc_blk_data *md = mmc_blk_get(dev_to_disk(dev));
> - unsigned long set = simple_strtoul(buf, &end, 0);
> - if (end == buf) {
> + unsigned long set;
> +
> + if (kstrtoul(buf, 0, &set)) {
> ret = -EINVAL;
> goto out;
> }
> --
> 2.46.0
>