Re: [PATCH] kbuild: warn about headers using __[us]{8,16,32,64} types w/out linux/types.h

From: Mike Frysinger
Date: Mon Dec 29 2008 - 15:28:10 EST


On Monday 29 December 2008 08:24:56 Sam Ravnborg wrote:
> On Mon, Dec 29, 2008 at 07:18:47AM -0500, Mike Frysinger wrote:
> > Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx>
> > ---
> > scripts/headers_check.pl | 20 ++++++++++++++++++++
> > 1 files changed, 20 insertions(+), 0 deletions(-)
> >
> > diff --git a/scripts/headers_check.pl b/scripts/headers_check.pl
> > index bdd9fb6..5036319 100644
> > --- a/scripts/headers_check.pl
> > +++ b/scripts/headers_check.pl
> > @@ -37,6 +37,7 @@ foreach my $file (@files) {
> > check_include();
> > check_prototypes();
> > check_config();
> > + check_sizetypes();
> > }
> > close FH;
> > }
> > @@ -72,3 +73,22 @@ sub check_config
> > printf STDERR "$filename:$lineno: leaks CONFIG_$1 to userspace where
> > it is not valid\n"; }
> > }
> > +
> > +my $linux_types;
> > +sub check_sizetypes
> > +{
> > + if ($lineno == 1) {
> > + $linux_types = 0;
> > + } elsif ($linux_types) {
> > + return;
> > + }
> > + if ($line =~ m/^\s*#\s*include\s+<linux\/types.h>/) {
> > + $linux_types = 1;
> > + return;
> > + }
> > + if ($line =~ m/__[us](8|16|32|64)\b/) {
> > + printf STDERR "$filename:$lineno: found __[us]{8,16,32,64} type w/out
> > #include <linux/types.h>\n"; + # Warn until headers are all fixed
> > + #$ret = 1;
> > + }
> > +}
>
> 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 ...
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.