mirror of
https://github.com/torvalds/linux.git
synced 2026-11-06 21:58:01 +01:00
checkpatch: suppress strscpy warnings for userspace tools
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 utilities where strscpy is not available. This patch suppresses these warnings for files in tools/ and scripts/. Link: https://lkml.kernel.org/r/20250923171722.7798-1-suchitkarunakaran@gmail.com Signed-off-by: Suchit Karunakaran <suchitkarunakaran@gmail.com> Acked-by: Joe Perches <joe@perches.com> Cc: Andy Whitcroft <apw@canonical.com> Cc: Dwaipayan Ray <dwaipayanray1@gmail.com> Cc: Lukas Bulwahn <lukas.bulwahn@gmail.com> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
20a8e0454d
commit
99b70ece33
|
|
@ -2636,6 +2636,11 @@ sub exclude_global_initialisers {
|
||||||
$realfile =~ m@/bpf/.*\.bpf\.c$@;
|
$realfile =~ m@/bpf/.*\.bpf\.c$@;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub is_userspace {
|
||||||
|
my ($realfile) = @_;
|
||||||
|
return ($realfile =~ m@^tools/@ || $realfile =~ m@^scripts/@);
|
||||||
|
}
|
||||||
|
|
||||||
sub process {
|
sub process {
|
||||||
my $filename = shift;
|
my $filename = shift;
|
||||||
|
|
||||||
|
|
@ -7018,21 +7023,20 @@ sub process {
|
||||||
# }
|
# }
|
||||||
# }
|
# }
|
||||||
# }
|
# }
|
||||||
|
|
||||||
# strcpy uses that should likely be strscpy
|
# strcpy uses that should likely be strscpy
|
||||||
if ($line =~ /\bstrcpy\s*\(/) {
|
if ($line =~ /\bstrcpy\s*\(/ && !is_userspace($realfile)) {
|
||||||
WARN("STRCPY",
|
WARN("STRCPY",
|
||||||
"Prefer strscpy over strcpy - see: https://github.com/KSPP/linux/issues/88\n" . $herecurr);
|
"Prefer strscpy over strcpy - see: https://github.com/KSPP/linux/issues/88\n" . $herecurr);
|
||||||
}
|
}
|
||||||
|
|
||||||
# strlcpy uses that should likely be strscpy
|
# strlcpy uses that should likely be strscpy
|
||||||
if ($line =~ /\bstrlcpy\s*\(/) {
|
if ($line =~ /\bstrlcpy\s*\(/ && !is_userspace($realfile)) {
|
||||||
WARN("STRLCPY",
|
WARN("STRLCPY",
|
||||||
"Prefer strscpy over strlcpy - see: https://github.com/KSPP/linux/issues/89\n" . $herecurr);
|
"Prefer strscpy over strlcpy - see: https://github.com/KSPP/linux/issues/89\n" . $herecurr);
|
||||||
}
|
}
|
||||||
|
|
||||||
# strncpy uses that should likely be strscpy or strscpy_pad
|
# strncpy uses that should likely be strscpy or strscpy_pad
|
||||||
if ($line =~ /\bstrncpy\s*\(/) {
|
if ($line =~ /\bstrncpy\s*\(/ && !is_userspace($realfile)) {
|
||||||
WARN("STRNCPY",
|
WARN("STRNCPY",
|
||||||
"Prefer strscpy, strscpy_pad, or __nonstring over strncpy - see: https://github.com/KSPP/linux/issues/90\n" . $herecurr);
|
"Prefer strscpy, strscpy_pad, or __nonstring over strncpy - see: https://github.com/KSPP/linux/issues/90\n" . $herecurr);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user