Re: [GIT PULL] leaking_addresses.pl changes for 4.16-rc1

From: Tobin C. Harding
Date: Fri Feb 02 2018 - 15:13:57 EST


On Fri, Feb 02, 2018 at 08:48:10PM +1100, Tobin C. Harding wrote:
> On Thu, Feb 01, 2018 at 02:43:28PM -0800, Linus Torvalds wrote:
> > On Thu, Feb 1, 2018 at 12:45 PM, Tobin C. Harding <me@xxxxxxxx> wrote:
> > >
> > > It has just come to my attention that I should have pushed these changes
> > > to Linux next before requesting you to pull them. Please feel free to
> > > drop this request, I can try again next merge window after going through
> > > linux next.
> >
> > For something like this, I don't think it's a big deal.
> >
> > A bigger deal is that it now wants perl-bigint, as of commit
> > 8d8a77fb99bd ("leaking_addresses: add range check for vsyscall
> > memory").
> >
> > And that is not apparently a common enough perl module to be installed
> > by default.
> >
> > Sure, I just ran
> >
> > dnf install 'perl(bigint)'
> >
> > and it did the right thing, but it does seem to be something of an
> > inconvenience.
>
> ok I'll try and find a work around so as not to use that.
>
> > And things are *slow*, to the point of breakage. I get
> >
> > timed out parsing: /proc/kallsyms
> > timed out parsing: /proc/2177/smaps
> > timed out parsing: /proc/2238/smaps
> > timed out parsing: /proc/2336/smaps
> > ...
>
> TL;DR it's working just not behaving very well.
>
> I knew that was an issue, I've been running tests with 'smaps' included
> in the skip files array. However the patch I submitted to add this
> included skipping /proc/kallsysms. This got nacked. I could not come
> up with a _good_ solution before doing the pull request and thought it
> better to have the 32-bit stuff in in light of all the drama this last
> month. The problem is that timeouts were added to catch binary files
> choking the script but the default is too slow for large ASCII files.
> Also we don't have a way to say 'scan this file once but not in every
> processes sub directory' i.e smaps. I needed feedback on this since I'm
> not totally sure that all smaps files are generated the same. Also I
> think there may be a better way to not pass binary files than using the
> timeout.

oops, the timeout was to catch files that block on read (like /proc/kmsg).

So, adding 'smaps' to @skip_parse_files_any makes it run but I am unsure
if this is correct. I am under the impression that there will be
various files that need skipping once the script is run on other peoples
setups.


thanks,
Tobin.