headers_check: better search for functions in headers

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>
This commit is contained in:
akpm@linux-foundation.org 2010-11-30 13:51:13 -08:00 committed by Michal Marek
parent a1087ef6ab
commit de323f22a8

View File

@ -64,7 +64,7 @@ sub check_include
sub check_declarations 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: " . printf STDERR "$filename:$lineno: " .
"userspace cannot call function or variable " . "userspace cannot call function or variable " .
"defined in the kernel\n"; "defined in the kernel\n";