scripts: add leaking_addresses.pl
authorTobin C. Harding <me@tobin.cc>
Mon, 6 Nov 2017 05:19:27 +0000 (16:19 +1100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 6 Nov 2017 19:46:42 +0000 (11:46 -0800)
commit136fc5c41f349296db1910677bb7402b0eeff376
treeeb9005942d3ac0327edb58b6bdc2bcbad5915f3d
parentaf903dcd31e1b345d858ca2af9a84ed61c960b57
scripts: add leaking_addresses.pl

Currently we are leaking addresses from the kernel to user space. This
script is an attempt to find some of those leakages. Script parses
`dmesg` output and /proc and /sys files for hex strings that look like
kernel addresses.

Only works for 64 bit kernels, the reason being that kernel addresses on
64 bit kernels have 'ffff' as the leading bit pattern making greping
possible. On 32 kernels we don't have this luxury.

Scripts is _slightly_ smarter than a straight grep, we check for false
positives (all 0's or all 1's, and vsyscall start/finish addresses).

[ I think there is a lot of room for improvement here, but it's already
  useful, so I'm merging it as-is. The whole "hash %p format" series is
  expected to go into 4.15, but will not fix %x users, and will not
  incentivize people to look at what they are leaking.     - Linus ]

Signed-off-by: Tobin C. Harding <me@tobin.cc>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
MAINTAINERS
scripts/leaking_addresses.pl [new file with mode: 0755]