Re: [PATCH] drivers: dio: replace deprecated strcpy with strscpy in dio_init
From: Geert Uytterhoeven
Date: Mon May 04 2026 - 03:18:12 EST
Hi Thorsten,
On Thu, 30 Apr 2026 at 14:09, Thorsten Blum <thorsten.blum@xxxxxxxxx> 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 <thorsten.blum@xxxxxxxxx>
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 -- geert@xxxxxxxxxxxxxx
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