leaking_addresses: check if file name contains address
authorTobin C. Harding <me@tobin.cc>
Thu, 1 Mar 2018 21:49:55 +0000 (08:49 +1100)
committerTobin C. Harding <me@tobin.cc>
Fri, 6 Apr 2018 22:50:34 +0000 (08:50 +1000)
Sometimes files may be created by using output from printk.  As the scan
traverses the directory tree we should parse each path name and check if
it is leaking an address.

Add check for leaking address on each path name.

Suggested-by: Tycho Andersen <tycho@tycho.ws>
Acked-by: Tycho Andersen <tycho@tycho.ws>
Signed-off-by: Tobin C. Harding <me@tobin.cc>
scripts/leaking_addresses.pl

index ba5f9709bcedc181ded3d94afa7d275d55d97940..6a897788f5a7ecd3eb699ebd6aec21ee1125aecd 100755 (executable)
@@ -463,6 +463,16 @@ sub parse_file
        close $fh;
 }
 
+# Checks if the actual path name is leaking a kernel address.
+sub check_path_for_leaks
+{
+       my ($path) = @_;
+
+       if (may_leak_address($path)) {
+               printf("Path name may contain address: $path\n");
+       }
+}
+
 # Recursively walk directory tree.
 sub walk
 {
@@ -485,6 +495,8 @@ sub walk
 
                        next if (skip($path));
 
+                       check_path_for_leaks($path);
+
                        if (-d $path) {
                                push @dirs, $path;
                                next;