vmscan: tracing: add a postprocessing script for reclaim-related ftrace events
[sfrench/cifs-2.6.git] / scripts / headers_check.pl
index 56f90a480899dd7bef86b88725b5668160b5fcad..50d6cfd1fa778808b659a461884113de502f3f99 100644 (file)
@@ -2,7 +2,7 @@
 #
 # headers_check.pl execute a number of trivial consistency checks
 #
-# Usage: headers_check.pl dir [files...]
+# Usage: headers_check.pl dir arch [files...]
 # dir:   dir to look for included files
 # arch:  architecture
 # files: list of files to check
@@ -28,19 +28,20 @@ my $lineno = 0;
 my $filename;
 
 foreach my $file (@files) {
-       local *FH;
        $filename = $file;
-       open(FH, "<$filename") or die "$filename: $!\n";
+
+       open(my $fh, '<', $filename)
+               or die "$filename: $!\n";
        $lineno = 0;
-       while ($line = <FH>) {
+       while ($line = <$fh>) {
                $lineno++;
                &check_include();
                &check_asm_types();
                &check_sizetypes();
-               &check_prototypes();
+               &check_declarations();
                # Dropped for now. Too much noise &check_config();
        }
-       close FH;
+       close $fh;
 }
 exit $ret;
 
@@ -61,22 +62,24 @@ sub check_include
        }
 }
 
-sub check_prototypes
+sub check_declarations
 {
-       if ($line =~ m/^\s*extern\b/) {
-               printf STDERR "$filename:$lineno: extern's make no sense in userspace\n";
+       if ($line =~m/^\s*extern\b/) {
+               printf STDERR "$filename:$lineno: " .
+                             "userspace cannot call function or variable " .
+                             "defined in the kernel\n";
        }
 }
 
 sub check_config
 {
-       if ($line =~ m/[^a-zA-Z0-9_]+CONFIG_([a-zA-Z0-9]+)[^a-zA-Z0-9]/) {
+       if ($line =~ m/[^a-zA-Z0-9_]+CONFIG_([a-zA-Z0-9_]+)[^a-zA-Z0-9_]/) {
                printf STDERR "$filename:$lineno: leaks CONFIG_$1 to userspace where it is not valid\n";
        }
 }
 
 my $linux_asm_types;
-sub check_asm_types()
+sub check_asm_types
 {
        if ($filename =~ /types.h|int-l64.h|int-ll64.h/o) {
                return;