summary refs log tree commit diff
path: root/scripts
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 /scripts
parent2306a67745ebdf3f98bc954248b74a3f1d57cdc2 (diff)
downloadlinux-c73dff595f259736a90f52b38cf5798abeae4a3c.tar.gz
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>
Diffstat (limited to 'scripts')
-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;