mm/mmap.c: remove a never-triggered warning in __vma_adjust()
authorWei Yang <richardw.yang@linux.intel.com>
Sun, 1 Dec 2019 01:50:37 +0000 (17:50 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 1 Dec 2019 14:29:18 +0000 (06:29 -0800)
The upper level of "if" makes sure (end >= next->vm_end), which means
there are only two possibilities:

   1) end == next->vm_end
   2) end > next->vm_end

remove_next is assigned to be (1 + end > next->vm_end).  This means if
remove_next is 1, end must equal to next->vm_end.

The VM_WARN_ON will never trigger.

Link: http://lkml.kernel.org/r/20190912063126.13250-1-richardw.yang@linux.intel.com
Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Yang Shi <yang.shi@linux.alibaba.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/mmap.c

index a7d8c84..e27bc5d 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -769,8 +769,6 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start,
                                remove_next = 1 + (end > next->vm_end);
                                VM_WARN_ON(remove_next == 2 &&
                                           end != next->vm_next->vm_end);
-                               VM_WARN_ON(remove_next == 1 &&
-                                          end != next->vm_end);
                                /* trim end to next, for case 6 first pass */
                                end = next->vm_end;
                        }