summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaoyu Lu <hechushiguitu666@gmail.com>2026-04-10 21:37:34 +0800
committerMiquel Raynal <miquel.raynal@bootlin.com>2026-04-27 15:12:58 +0200
commit6b07cdff176bc5f8fef459b85a7e2ea09e68543f (patch)
treedf515b996dbc1324a337d7294e713d55cfa95a00
parent01f9557233e3c04be5c6705864d390682f5d7236 (diff)
mtd: mtdoops: replace simple_strtoul with kstrtouint
Replace deprecated simple_strtoul with kstrtouint for better error handling and type safety. The kstrtouint function provides stricter validation, automatically rejecting inputs like "123abc" that simple_strtoul would partially accept. Using kstrtouint avoids unsigned long to int conversion and is more appropriate for MTD device indices which are non-negative integers. Signed-off-by: Haoyu Lu <hechushiguitu666@gmail.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
-rw-r--r--drivers/mtd/mtdoops.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/mtd/mtdoops.c b/drivers/mtd/mtdoops.c
index b88083751a0c..39df7ce8f55f 100644
--- a/drivers/mtd/mtdoops.c
+++ b/drivers/mtd/mtdoops.c
@@ -403,8 +403,7 @@ static struct mtd_notifier mtdoops_notifier = {
static int __init mtdoops_init(void)
{
struct mtdoops_context *cxt = &oops_cxt;
- int mtd_index;
- char *endp;
+ unsigned int mtd_index;
if (strlen(mtddev) == 0) {
pr_err("mtd device (mtddev=name/number) must be supplied\n");
@@ -421,9 +420,9 @@ static int __init mtdoops_init(void)
/* Setup the MTD device to use */
cxt->mtd_index = -1;
- mtd_index = simple_strtoul(mtddev, &endp, 0);
- if (*endp == '\0')
+ if (kstrtouint(mtddev, 0, &mtd_index) == 0) {
cxt->mtd_index = mtd_index;
+ }
cxt->oops_buf = vmalloc(record_size);
if (!cxt->oops_buf)