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.

Signed-off-by: Wei Yang <[email protected]>
---
 mm/mmap.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/mm/mmap.c b/mm/mmap.c
index 907939690a30..18ef68f00f51 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -738,8 +738,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;
                        }
-- 
2.17.1

Reply via email to