Re: [PATCH]fix VM_CAN_NONLINEAR check in sys_remap_file_pages

Andrew Morton
2007-10-08T17:52:19Z

On Mon, 8 Oct 2007 10:28:43 -0700
Randy Dunlap <randy.dunlap@oracle.com> wrote:

> On Mon, 8 Oct 2007 10:04:56 -0700 Andrew Morton wrote:
>
> > On Mon, 8 Oct 2007 19:45:08 +0800 "Yan Zheng" <yanzheng@21cn.com> wrote:
> >
> > > Hi all
> > >
> > > The test for VM_CAN_NONLINEAR always fails
> > >
> > > Signed-off-by: Yan Zheng<yanzheng@21cn.com>
> > > ----
> > > diff -ur linux-2.6.23-rc9/mm/fremap.c linux/mm/fremap.c
> > > --- linux-2.6.23-rc9/mm/fremap.c 2007-10-07 15:03:33.000000000 +0800
> > > +++ linux/mm/fremap.c 2007-10-08 19:33:44.000000000 +0800
> > > @@ -160,7 +160,7 @@
> > > if (vma->vm_private_data && !(vma->vm_flags & VM_NONLINEAR))
> > > goto out;
> > >
> > > - if (!vma->vm_flags & VM_CAN_NONLINEAR)
> > > + if (!(vma->vm_flags & VM_CAN_NONLINEAR))
> > > goto out;
> > >
> > > if (end <= start || start < vma->vm_start || end > vma->vm_end)
> >
> > Lovely. From this we can deduce that nobody has run remap_file_pages() since
> > 2.6.23-rc1 and that nobody (including the developer who made that change) ran it
> > while that change was in -mm.
>
> I've run rmap-test with -M (use remap_file_pages) and
> remap-test from ext3-tools, but not remap_file_pages for some reason.
>
> I'll now add remap_file_pages soon.
> Maybe those other 2 tests aren't strong enough (?).
> Or maybe they don't return a non-0 exit status even when they fail...
> (I'll check.)

Perhaps Yan Zheng can tell us what test was used to demonstrate this?

>
> > I'm surprise that LTP doesn't have any remap_file_pages() tests.
>
> quick grep didn't find any for me.

Me either. There are a few lying around the place which could be
integrated.

It would be good if LTP were to have some remap_file_pages() tests
(please). As we see here, it is something which we can easily break, and
leave broken for some time.