lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 30 Dec 2008 06:50:14 -0500
From:	Mike Frysinger <vapier@...too.org>
To:	Sam Ravnborg <sam@...nborg.org>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] kbuild: warn about headers using __[us]{8,16,32,64} types w/out linux/types.h

On Tuesday 30 December 2008 05:43:03 Sam Ravnborg wrote:
> On Mon, Dec 29, 2008 at 03:27:51PM -0500, Mike Frysinger wrote:
> > > We do not need to warn for each line in a file. Only once is enough.
> >
> > i wasnt sure about that ... got pretty noisy the way i posted it :)
> >
> > > Also I assume that include <asm/types.h> is also ok.
> >
> > i dont think so ... does it really make sense for headers to be hitting
> > asm/types.h anyways ?  shouldnt they all be going through linux/types.h ?
> > checkpatch would certainly warn about it ...
>
> I added following patch which I have pushed out.
>
> 	Sam
>
> From 1f71c478dadbe1425eeaa704e50c7030ab011c5b Mon Sep 17 00:00:00 2001
> From: Sam Ravnborg <sam@...nborg.org>
> Date: Tue, 30 Dec 2008 11:34:58 +0100
> Subject: [PATCH] kbuild: add checks for include of linux/types in userspace
> headers
>
> If we see __[us](8|16|32|64) then we must include <linux/types.h>
> If wee see include of <asm/types.h> then we recommend <linux/types.h>
>
> Original script from Mike but modified by me.
>
> Cc: Mike Frysinger <vapier@...too.org>
> Signed-off-by: Sam Ravnborg <sam@...nborg.org>
> ---
>  scripts/headers_check.pl |   47
> +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 44
> insertions(+), 3 deletions(-)
>
> diff --git a/scripts/headers_check.pl b/scripts/headers_check.pl
> index 72924a7..b62c319 100644
> --- a/scripts/headers_check.pl
> +++ b/scripts/headers_check.pl
> @@ -34,9 +34,11 @@ foreach my $file (@files) {
>  	$lineno = 0;
>  	while ($line = <FH>) {
>  		$lineno++;
> -		check_include();
> -		check_prototypes();
> -		check_config();
> +		&check_include();
> +		&check_asm_types();
> +		&check_sizetypes();
> +		&check_prototypes();
> +		&check_config();
>  	}
>  	close FH;
>  }
> @@ -73,3 +75,42 @@ sub check_config
>  	}
>  }
>
> +my $linux_asm_types;
> +sub check_asm_types()
> +{
> +	if ($lineno == 1) {
> +		$linux_asm_types = 0;
> +	} elsif ($linux_asm_types >= 1) {
> +		return;
> +	}
> +	if ($line =~ m/^\s*#\s*include\s+<asm\/types.h>/) {
> +		$linux_asm_types = 1;
> +		printf STDERR "$filename:$lineno: " .
> +		"include of <linux/types.h> is preferred over <asm/types.h>\n"
> +		# Warn until headers are all fixed
> +		#$ret = 1;
> +	}
> +}

you'll want to special case linux/types.h as it should be pulling in 
asm/types.h ... off the top of my head, that's the only one ...
-mike

Download attachment "signature.asc " of type "application/pgp-signature" (836 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ