[PATCH] mtd: ubi: replace strcpy with strscpy in mtd parameter parser

Miguel García Román miguelgarciaroman8 at gmail.com
Tue Aug 19 13:46:59 PDT 2025


El lun, 11 ago 2025 a las 14:46, Richard Weinberger (<richard at nod.at>) escribió:
>
> ----- 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.
That's true
> If buf is in future changed to a pointer, sizeof(buf) needs a fixup too.
what about using the two-parameters version of strscpy?
>
> Thanks,
> //richard



More information about the linux-mtd mailing list