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 | |
| parent | 46b8af50ba5c072b74740c5fa8ba08e6eabb22f8 (diff) | |
kbuild: check for leaked CONFIG_ symbols to userspace
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts')
| -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 | |||
