[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1230558803-7168-8-git-send-email-sam@ravnborg.org>
Date: Mon, 29 Dec 2008 14:53:18 +0100
From: Sam Ravnborg <sam@...nborg.org>
To: linux-kbuild <linux-kbuild@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>
Cc: Mike Frysinger <vapier@...too.org>, Sam Ravnborg <sam@...nborg.org>
Subject: [PATCH 08/13] headers_check.pl: disallow extern's
From: Mike Frysinger <vapier@...too.org>
Since prototypes with "extern" refer to kernel functions, they make no
sense in userspace, so reject them automatically.
Signed-off-by: Mike Frysinger <vapier@...too.org>
[sam: made it into a warning]
Signed-off-by: Sam Ravnborg <sam@...nborg.org>
---
scripts/headers_check.pl | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/scripts/headers_check.pl b/scripts/headers_check.pl
index 488a3b1..5bdd975 100644
--- a/scripts/headers_check.pl
+++ b/scripts/headers_check.pl
@@ -14,7 +14,9 @@
# Only include files located in asm* and linux* are checked.
# The rest are assumed to be system include files.
#
-# 2) TODO: check for leaked CONFIG_ symbols
+# 2) It is checked that prototypes does not use "extern"
+#
+# 3) TODO: check for leaked CONFIG_ symbols
use strict;
@@ -33,6 +35,7 @@ foreach my $file (@files) {
while ($line = <FH>) {
$lineno++;
check_include();
+ check_prototypes();
}
close FH;
}
@@ -54,3 +57,10 @@ sub check_include
}
}
}
+
+sub check_prototypes
+{
+ if ($line =~ m/^\s*extern\b/) {
+ printf STDERR "$filename:$lineno: extern's make no sense in userspace\n";
+ }
+}
--
1.6.0.2.GIT
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists