summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobin C. Harding <me@tobin.cc>2018-03-02 08:49:55 +1100
committerTobin C. Harding <me@tobin.cc>2018-04-07 08:50:34 +1000
commitc73dff595f259736a90f52b38cf5798abeae4a3c (patch)
treed8c32846abfa3a47ceeb6c80aa368dfc2fcbdb71
parent2306a67745ebdf3f98bc954248b74a3f1d57cdc2 (diff)
downloadlinux-c73dff595f259736a90f52b38cf5798abeae4a3c.tar.gz
linux-c73dff595f259736a90f52b38cf5798abeae4a3c.tar.bz2
linux-c73dff595f259736a90f52b38cf5798abeae4a3c.zip
leaking_addresses: check if file name contains address
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>
-rwxr-xr-xscripts/leaking_addresses.pl12
1 files changed, 12 insertions, 0 deletions
diff --git a/scripts/leaking_addresses.pl b/scripts/leaking_addresses.pl
index ba5f9709bced..6a897788f5a7 100755
--- a/scripts/leaking_addresses.pl
+++ b/scripts/leaking_addresses.pl
@@ -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;