diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2008-12-27 13:52:20 -0500 |
---|---|---|
committer | Sam Ravnborg <sam@ravnborg.org> | 2009-01-02 14:43:23 -0500 |
commit | 7e557a2509f9e1477c10295b74e29e4e93fa2392 (patch) | |
tree | 7378b0bf583980ccf2e06b4bb00c6204b2c0d4ad /scripts/headers_check.pl | |
parent | 46b8af50ba5c072b74740c5fa8ba08e6eabb22f8 (diff) |
kbuild: check for leaked CONFIG_ symbols to userspace
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts/headers_check.pl')
-rw-r--r-- | scripts/headers_check.pl | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/scripts/headers_check.pl b/scripts/headers_check.pl index 5bdd9753007a..72924a7fcf1e 100644 --- a/scripts/headers_check.pl +++ b/scripts/headers_check.pl | |||
@@ -16,7 +16,7 @@ | |||
16 | # | 16 | # |
17 | # 2) It is checked that prototypes does not use "extern" | 17 | # 2) It is checked that prototypes does not use "extern" |
18 | # | 18 | # |
19 | # 3) TODO: check for leaked CONFIG_ symbols | 19 | # 3) Check for leaked CONFIG_ symbols |
20 | 20 | ||
21 | use strict; | 21 | use strict; |
22 | 22 | ||
@@ -36,6 +36,7 @@ foreach my $file (@files) { | |||
36 | $lineno++; | 36 | $lineno++; |
37 | check_include(); | 37 | check_include(); |
38 | check_prototypes(); | 38 | check_prototypes(); |
39 | check_config(); | ||
39 | } | 40 | } |
40 | close FH; | 41 | close FH; |
41 | } | 42 | } |
@@ -64,3 +65,11 @@ sub check_prototypes | |||
64 | printf STDERR "$filename:$lineno: extern's make no sense in userspace\n"; | 65 | printf STDERR "$filename:$lineno: extern's make no sense in userspace\n"; |
65 | } | 66 | } |
66 | } | 67 | } |
68 | |||
69 | sub check_config | ||
70 | { | ||
71 | if ($line =~ m/[^a-zA-Z0-9_]+CONFIG_([a-zA-Z0-9]+)[^a-zA-Z0-9]/) { | ||
72 | printf STDERR "$filename:$lineno: leaks CONFIG_$1 to userspace where it is not valid\n"; | ||
73 | } | ||
74 | } | ||
75 | |||