[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251023-headers-pl-drop-check-sizes-v1-1-18bd21cf8f5e@kernel.org>
Date: Thu, 23 Oct 2025 23:51:29 +0100
From: Nathan Chancellor <nathan@...nel.org>
To: Nathan Chancellor <nathan@...nel.org>, Nicolas Schier <nsc@...nel.org>
Cc: Thomas Weißschuh <thomas.weissschuh@...utronix.de>,
linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH] kbuild: uapi: Drop types.h check from headers_check.pl
Since commit d6fc9fcbaa65 ("kbuild: compile-test exported headers to
ensure they are self-contained"), the UAPI headers are compile tested
standalone with the compiler. This compile testing will catch a missing
include of types.h, making the types.h checking in headers_check.pl
originally added in commit 483b41218fa9 ("kbuild: add checks for include
of linux/types in userspace headers") obsolete.
Signed-off-by: Nathan Chancellor <nathan@...nel.org>
---
usr/include/headers_check.pl | 63 --------------------------------------------
1 file changed, 63 deletions(-)
diff --git a/usr/include/headers_check.pl b/usr/include/headers_check.pl
index 1fbc8785f96e..af5a513eaa00 100755
--- a/usr/include/headers_check.pl
+++ b/usr/include/headers_check.pl
@@ -39,7 +39,6 @@ foreach my $file (@files) {
$lineno++;
&check_include();
&check_asm_types();
- &check_sizetypes();
&check_declarations();
# Dropped for now. Too much noise &check_config();
}
@@ -103,65 +102,3 @@ sub check_asm_types
$ret = 1;
}
}
-
-my $linux_types;
-my %import_stack = ();
-sub check_include_typesh
-{
- my $path = $_[0];
- my $import_path;
-
- my $fh;
- my @file_paths = ($path, $dir . "/" . $path, dirname($filename) . "/" . $path);
- for my $possible ( @file_paths ) {
- if (not $import_stack{$possible} and open($fh, '<', $possible)) {
- $import_path = $possible;
- $import_stack{$import_path} = 1;
- last;
- }
- }
- if (eof $fh) {
- return;
- }
-
- my $line;
- while ($line = <$fh>) {
- if ($line =~ m/^\s*#\s*include\s+<linux\/types.h>/) {
- $linux_types = 1;
- last;
- }
- if (my $included = ($line =~ /^\s*#\s*include\s+[<"](\S+)[>"]/)[0]) {
- check_include_typesh($included);
- }
- }
- close $fh;
- delete $import_stack{$import_path};
-}
-
-sub check_sizetypes
-{
- if ($filename =~ /types.h|int-l64.h|int-ll64.h/o) {
- return;
- }
- if ($lineno == 1) {
- $linux_types = 0;
- } elsif ($linux_types >= 1) {
- return;
- }
- if ($line =~ m/^\s*#\s*include\s+<linux\/types.h>/) {
- $linux_types = 1;
- return;
- }
- if (my $included = ($line =~ /^\s*#\s*include\s+[<"](\S+)[>"]/)[0]) {
- check_include_typesh($included);
- }
- # strip single-line comments, as types may be referenced within them
- $line =~ s@/\*.*?\*/@@;
- if ($line =~ m/__[us](8|16|32|64)\b/) {
- printf STDERR "$filename:$lineno: " .
- "found __[us]{8,16,32,64} type " .
- "without #include <linux/types.h>\n";
- $linux_types = 2;
- $ret = 1;
- }
-}
---
base-commit: ac1280211e1c41704c756fd1bc5512f92010b3f0
change-id: 20251023-headers-pl-drop-check-sizes-2c68b02d31ff
Best regards,
--
Nathan Chancellor <nathan@...nel.org>
Powered by blists - more mailing lists