Re: [PATCH] checkpatch: suppress strscpy warnings for userspace tools

From: Suchit K
Date: Sun Jul 27 2025 - 08:31:50 EST


On Sun, 27 Jul 2025 at 17:25, Joe Perches <joe@xxxxxxxxxxx> wrote:
>
> On Sun, 2025-07-27 at 00:24 +0530, Suchit Karunakaran wrote:
> > The checkpatch.pl script currently warns against the use of strcpy,
> > strlcpy, and strncpy, recommending strscpy as a safer alternative.
> > However, these warnings are also triggered for code under tools/ and
> > scripts/, which are userspace code where strscpy is not available.
> > This patch suppresses these warnings for files in tools/ and scripts/.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > @@ -7020,19 +7020,19 @@ sub process {
> > # }
> >
> > # strcpy uses that should likely be strscpy
> > - if ($line =~ /\bstrcpy\s*\(/) {
> > + if ($line =~ /\bstrcpy\s*\(/ && $realfile !~ m@\btools/@ && $realfile !~ m@\bscripts/@) {
>
> Maybe instead create a is_kernel or is_userspace function
> and use that instead of the test

Sure, I will do it.

>
> if (!is_userspace($realfile) &&
> $line =~ etc...
>
> and
>
> are all <any_subdirectory>tools/ always userspace ?
>

Yes, as far as I know, almost all of the code in the tools directory
is userspace. Atleast, strscpy isn't available for the code inside
tools and scripts.