headers_check: better search for functions in headers
authorakpm@linux-foundation.org <akpm@linux-foundation.org>
Tue, 30 Nov 2010 21:51:13 +0000 (13:51 -0800)
committerMichal Marek <mmarek@suse.cz>
Tue, 14 Dec 2010 16:02:45 +0000 (17:02 +0100)
Some headers don't bother with "extern" in function prototypes, which
results in said prototypes being unnoticed and exported to userland.

This patch slightly improves detection of such cases by checking for C
type names as well in the beginning of a line.

Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Cc: Stephen Hemminger <shemminger@vyatta.com>
Cc: Michal Marek <mmarek@suse.cz>
Cc: WANG Cong <amwang@redhat.com>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
scripts/headers_check.pl

index 50d6cfd1fa778808b659a461884113de502f3f99..e0e25a1c2c12b02f9ace59c006bd5362c51edee8 100644 (file)
@@ -64,7 +64,7 @@ sub check_include
 
 sub check_declarations
 {
-       if ($line =~m/^\s*extern\b/) {
+       if ($line =~m/^(\s*extern|unsigned|char|short|int|long|void)\b/) {
                printf STDERR "$filename:$lineno: " .
                              "userspace cannot call function or variable " .
                              "defined in the kernel\n";