[PATCH] mtd: ubi: replace strcpy with strscpy in mtd parameter parser
Richard Weinberger
richard at nod.at
Mon Aug 11 05:46:29 PDT 2025
----- Ursprüngliche Mail -----
> Von: "Miguel García" <miguelgarciaroman8 at gmail.com>
> An: "richard" <richard at nod.at>, "Miquel Raynal" <miquel.raynal at bootlin.com>, "Vignesh Raghavendra" <vigneshr at ti.com>
> CC: "chengzhihao1" <chengzhihao1 at huawei.com>, "linux-mtd" <linux-mtd at lists.infradead.org>, "linux-kernel"
> <linux-kernel at vger.kernel.org>, "Shuah Khan" <skhan at linuxfoundation.org>, "Miguel García"
> <miguelgarciaroman8 at gmail.com>
> Gesendet: Montag, 11. August 2025 14:09:12
> Betreff: [PATCH] mtd: ubi: replace strcpy with strscpy in mtd parameter parser
> Replace the strcpy() calls used to copy the 'mtd=' parameter into local
> buffers with strscpy() to avoid potential overflow and guarantee NUL
> termination. Destinations are fixed-size arrays (buf and p->name), so
> use sizeof().
>
> While this code is currently safe due to prior length checks
> (strnlen(val, MTD_PARAM_LEN_MAX) and early return on overflow),
> replacing strcpy() with strscpy() follows current kernel best practices
> and makes the code more robust to future changes. The sizeof() calls
> correctly compute the buffer sizes, matching MTD_PARAM_LEN_MAX.
TBH, I'm not convinced. We're talking about kernel module parameters,
not hostile user input, etc...
By adding sizeof() you're replacing one foodgun with another one.
If buf is in future changed to a pointer, sizeof(buf) needs a fixup too.
Thanks,
//richard
More information about the linux-mtd
mailing list