Re: [PATCH v3] video: fbdev: via: refactor strcpy and viafb_name

Helge Deller <[email protected]>
Newsgroups org.kernel.vger.linux-fbdev,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On 8/14/26 09:44, Ajith P V wrote:
> Replace the deprecated and unbounded strcpy() function with the safer
> strscpy() alternative when setting up the framebuffer fixed screen
> information [1][2].
> 
> It aligns this driver with the ongoing kernel-wide security initiative
> to eliminate unbounded string copies, hardening the code against future
> modifications.
> 
> Additionally, convert the file-scope `viafb_name` pointer into a
> `static const char[]` array while preserving its original value "Via".
> This allows the compiler to execute compile-time bounds checking and
> optimize the string copy operation without breaking userspace ABI
> backward compatibility.
> 
> This is a proactive API cleanup and there is no functional
> performance or truncation risk.
> 
> Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy [1]
> Link: https://github.com/KSPP/linux/issues/88 [2]
> 
> Signed-off-by: Ajith P V <[email protected]>
> ---
> v3:
>    - Restore the original "Via" string value to prevent userspace ABI
>      regressions, while keeping the 'static const char[]' optimization as
>      suggested by Sashiko AI.
> v2:
>    - Keep variable static but change it to a const array
>      'static const char viafb_name[] = "viafb"' as suggested by Helge Deller
>      to let the compiler leverage compile-time checks.
> 
>   drivers/video/fbdev/via/viafbdev.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/video/fbdev/via/viafbdev.c b/drivers/video/fbdev/via/viafbdev.c
> index 80f95dac32c8..f6823beb4d7e 100644
> --- a/drivers/video/fbdev/via/viafbdev.c
> +++ b/drivers/video/fbdev/via/viafbdev.c
> @@ -16,7 +16,7 @@
>   #define _MASTER_FILE
>   #include "global.h"
>   
> -static char *viafb_name = "Via";
> +static const char viafb_name[] = "Via";
>   static u32 pseudo_pal[17];
>   
>   /* video mode */
> @@ -144,7 +144,7 @@ static void viafb_setup_fixinfo(struct fb_fix_screeninfo *fix,
>   	struct viafb_par *viaparinfo)
>   {
>   	memset(fix, 0, sizeof(struct fb_fix_screeninfo));
> -	strcpy(fix->id, viafb_name);
> +	strscpy(fix->id, viafb_name, sizeof(fix->id));
Please make it simple:

	strcpy(fix->id, "Via");

Helge
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.