Re: [PATCH] kbuild: uapi: Strip comments before size type check

From: Thomas Weißschuh

Date: Mon Oct 06 2025 - 06:31:23 EST


On Mon, Oct 06, 2025 at 10:49:28AM +0200, Geert Uytterhoeven wrote:
> On m68k, check_sizetypes in headers_check reports:
>
> ./usr/include/asm/bootinfo-amiga.h:17: found __[us]{8,16,32,64} type without #include <linux/types.h>
>
> This header file does not use any of the Linux-specific integer types,
> but merely refers to them from comments, so this is a false positive.
> As of commit c3a9d74ee413bdb3 ("kbuild: uapi: upgrade check_sizetypes()
> warning to error"), this check was promoted to an error, breaking m68k
> all{mod,yes}config builds.

This commit has been in -next for some time. Any idea why the issue did
not show up there?

> Fix this by stripping simple comments before looking for Linux-specific
> integer types.
>
> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>

Reviewed-by: Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>

> ---
> usr/include/headers_check.pl | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/usr/include/headers_check.pl b/usr/include/headers_check.pl
> index 21c2fb9520e6af2d..75dfdce39e7f4610 100755
> --- a/usr/include/headers_check.pl
> +++ b/usr/include/headers_check.pl
> @@ -155,6 +155,9 @@ sub check_sizetypes
> if (my $included = ($line =~ /^\s*#\s*include\s+[<"](\S+)[>"]/)[0]) {
> check_include_typesh($included);
> }
> + # strip comments (single-line and C99 only)
> + $line =~ s@\/\*.*?\*\/@@;
> + $line =~ s@\/\/.*$@@;

C99/C++ comments are rejected in UAPI headers, so this line can be dropped.

> if ($line =~ m/__[us](8|16|32|64)\b/) {
> printf STDERR "$filename:$lineno: " .
> "found __[us]{8,16,32,64} type " .
> --
> 2.43.0
>