Re: [LTP] [PATCH 4.4 00/24] 4.4.137-stable review

From: Jan Stancek
Date: Thu Jun 14 2018 - 06:36:11 EST



----- Original Message -----
> On Thu, Jun 14, 2018 at 05:49:52AM -0400, Jan Stancek wrote:
> >
> > ----- Original Message -----
> > > On Thu, Jun 14, 2018 at 02:24:25PM +0530, Naresh Kamboju wrote:
> > > > On 14 June 2018 at 12:04, Greg Kroah-Hartman
> > > > <gregkh@xxxxxxxxxxxxxxxxxxx>
> > > > wrote:
> > > > > On Wed, Jun 13, 2018 at 10:48:50PM -0300, Rafael Tinoco wrote:
> > > > >> On 13 June 2018 at 18:08, Rafael David Tinoco
> > > > >> <rafaeldtinoco@xxxxxxxxxxxxxx> wrote:
> > > > >> > On Wed, Jun 13, 2018 at 6:00 PM, Greg Kroah-Hartman
> > > > >> > <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> > > > >> >> On Wed, Jun 13, 2018 at 05:47:49PM -0300, Rafael Tinoco wrote:
> > > > >> >>> Results from Linaroâs test farm.
> > > > >> >>> Regressions detected.
> > > > >> >>>
> > > > >> >>> NOTE:
> > > > >> >>>
> > > > >> >>> 1) LTP vma03 test (cve-2011-2496) broken on v4.4-137-rc1 because
> > > > >> >>> of:
> > > > >> >>>
> > > > >> >>> 6ea1dc96a03a mmap: relax file size limit for regular files
> > > > >> >>> bd2f9ce5bacb mmap: introduce sane default mmap limits
> > > > >> >>>
> > > > >> >>> discussion:
> > > > >> >>>
> > > > >> >>> https://github.com/linux-test-project/ltp/issues/341
> > > > >> >>>
> > > > >> >>> mainline commit (v4.13-rc7):
> > > > >> >>>
> > > > >> >>> 0cc3b0ec23ce Clarify (and fix) MAX_LFS_FILESIZE macros
> > > > >> >>>
> > > > >> >>> should be backported to 4.4.138-rc2 and fixes the issue.
> > > > >> >>
> > > > >> >> Really? That commit says it fixes c2a9737f45e2 ("vfs,mm: fix a
> > > > >> >> dead
> > > > >> >> loop in truncate_inode_pages_range()") which is not in 4.4.y at
> > > > >> >> all.
> > > > >> >>
> > > > >> >> Did you test this out?
> > > > >> >
> > > > >> > Yes, the LTP contains the tests (last comment is the final test
> > > > >> > for
> > > > >> > arm32, right before Jan tests i686).
> > > > >> >
> > > > >> > Fixing MAX_LFS_FILESIZE fixes the new limit for mmap() brought by
> > > > >> > those 2 commits (file_mmap_size_max()).
> > > > >> > offset tested by the LTP test is 0xfffffffe000.
> > > > >> > file_mmap_size_max gives: 0xFFFFFFFF000 as max value, but only
> > > > >> > after
> > > > >> > the mentioned patch.
> > > > >> >
> > > > >> > Original intent for this fix was other though.
> > > > >>
> > > > >> To clarify this a bit further.
> > > > >>
> > > > >> The LTP CVE test is breaking in the first call to mmap(), even
> > > > >> before
> > > > >> trying to remap and test the security issue. That start happening in
> > > > >> this round because of those mmap() changes and the offset used in
> > > > >> the
> > > > >> LTP test. Linus changed limit checks and made them to be related to
> > > > >> MAX_LFS_FILESIZE. Unfortunately, in 4.4 stable, we were missing the
> > > > >> fix for MAX_LFS_FILESIZE (which before commit 0cc3b0ec23ce was less
> > > > >> than the REAL 32 bit limit).
> > > > >>
> > > > >> Commit 0cc3b0ec23ce was made because an user noticed the FS limit
> > > > >> not
> > > > >> being what it should be. In our case, the 4.4 stable kernel, we are
> > > > >> facing this 32 bit lower limit (than the real 32 bit real limit),
> > > > >> because of the LTP CVE test, so we need this fix to have the real 32
> > > > >> bit limit set for that macro (mmap limits did not use that macro
> > > > >> before).
> > > > >>
> > > > >> I have tested in arm32 and Jan Stancek, who first responded to LTP
> > > > >> issue, has tested this in i686 and both worked after that patch was
> > > > >> included to v4.4-137-rc1 (my last test was even with 4.4.138-rc1).
> > > > >>
> > > > >> Hope that helps a bit.
> > > > >
> > > > > Ok, thanks, it didn't apply cleanly but I've fixed it up now.
> > > >
> > > > On the latest 4.4.138-rc1,
> > > > LTP "cve-2011-2496" test still fails on arm32 beagleboard x15 and
> > > > qemu_arm.
> > > >
> > > > Summary
> > > > ------------------------------------------------------------------------
> > > > kernel: 4.4.138-rc1
> > > > git repo:
> > > > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
> > > > git branch: linux-4.4.y
> > > > git commit: 7d690c56754ef7be647fbcf7bcdceebd59926b3f
> > > > git describe: v4.4.137-15-g7d690c56754e
> > > > Test details:
> > > > https://qa-reports.linaro.org/lkft/linux-stable-rc-4.4-oe/build/v4.4.137-15-g7d690c56754e
> > >
> > > Ok, but what does this mean? Is there a commit somewhere that I need to
> > > pick up for 4.4.y that is already in newer kernels?
> >
> > Hi Greg,
> >
> > I think the expectations was that:
> > 0cc3b0ec23ce Clarify (and fix) MAX_LFS_FILESIZE macros
> > has been included to linux-4.4.y HEAD, so they re-ran the tests.
> >
> > Report from Naresh above looks like original report: LTP vma03 is
> > cve-2011-2496 test.
>
> And the test fails now?
>
> Still confused.

I don't see the patch (0cc3b0ec23ce) applied to linux-stable-rc.git,
branch linux-4.4.y:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/log/?h=linux-4.4.y
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/tree/include/linux/fs.h?h=linux-4.4.y&id=7d690c56754ef7be647fbcf7bcdceebd59926b3f#n929

That is what has been tested above - is that the correct place
to get your backport of 0cc3b0ec23ce?

Regards,
Jan