Re: [PATCH]fix VM_CAN_NONLINEAR check in sys_remap_file_pages

WANG Cong
2007-10-08T11:57:22Z

On Mon, Oct 08, 2007 at 07:45:08PM +0800, Yan Zheng 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))

Good catch!

! operator has higher priority than & operator.

Acked by me. ;-)

> goto out;
>
> if (end <= start || start < vma->vm_start || end > vma->vm_end)