Re: [PATCH] drivers: dio: replace deprecated strcpy with strscpy in dio_init
Geert Uytterhoeven <[email protected]>
| Newsgroups | org.kernel.vger.linux-m68k,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAMuHMdUiMMXrWtsZ5erkoQoYh_4dq1CYD-RiSkZXSVwQAtxo6A@mail.gmail.com> |
Hi Thorsten, On Thu, 30 Apr 2026 at 14:09, Thorsten Blum <[email protected]> wrote: > strcpy() has been deprecated [1] because it performs no bounds checking > on the destination buffer, which can lead to buffer overflows. While the > current code works correctly, replace strcpy() with the safer strscpy() > to follow secure coding best practices. > > Indent multiple lines using tabs instead of spaces, and use pr_info() > and avoid continuation logging while at it. > > [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy > > Signed-off-by: Thorsten Blum <[email protected]> Thanks for your patch! Please split this in two patches, as the "while at it" became much larger than the main change. > --- a/drivers/dio/dio.c > +++ b/drivers/dio/dio.c > @@ -178,7 +178,7 @@ static int __init dio_init(void) > if (!MACH_IS_HP300) > return 0; > > - printk(KERN_INFO "Scanning for DIO devices...\n"); > + pr_info("Scanning for DIO devices...\n"); > > /* Initialize the DIO bus */ > INIT_LIST_HEAD(&dio_bus.devices); > @@ -247,18 +247,19 @@ static int __init dio_init(void) > dev->id = prid; > > dev->ipl = DIO_IPL(va); > - strcpy(dev->name, dio_getname(dev->id)); > - printk(KERN_INFO "select code %3d: ipl %d: ID %02X", dev->scode, dev->ipl, prid); > + strscpy(dev->name, dio_getname(dev->id)); > if (DIO_NEEDSSECID(prid)) > - printk(":%02X", secid); > - printk(": %s\n", dev->name); > + pr_info("select code %3d: ipl %d: ID %02X:%02X: %s\n", > + dev->scode, dev->ipl, prid, secid, dev->name); > + else > + pr_info("select code %3d: ipl %d: ID %02X: %s\n", > + dev->scode, dev->ipl, prid, dev->name); Looks like a good opportunity to start using "%u" to print dev->ipl, which is u8. > > if (scode >= DIOII_SCBASE) > iounmap(va); The rest LGTM to me. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected] In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds