headers_check: better search for functions in headers
akpm@linux-foundation.org [Tue, 30 Nov 2010 21:51:13 +0000 (13:51 -0800)]
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 50d6cfd..e0e25a1 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";