]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mmc: core: Convert simple_stroul to kstroul
authorRiyan Dhiman <riyandhiman14@gmail.com>
Sun, 1 Sep 2024 18:22:44 +0000 (23:52 +0530)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 3 Sep 2024 12:31:32 +0000 (14:31 +0200)
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@gmail.com>
Link: https://lore.kernel.org/r/20240901182244.45543-1-riyandhiman14@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/block.c

index 2ff053f2be112cfcfcd58e4200e2b736fbb672ce..f58bea534004c6d1028cc5a30dc40ed4fa62f094 100644 (file)
@@ -353,10 +353,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;
        }