]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mm: Remove unnecessary write to vma iterator in __vma_adjust()
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Mon, 14 Nov 2022 16:08:16 +0000 (11:08 -0500)
committerLiam R. Howlett <Liam.Howlett@oracle.com>
Tue, 13 Dec 2022 21:03:39 +0000 (16:03 -0500)
If the vma start address is going to change due to an insert, then it is
safe to not write the vma to the tree.  The write of the insert vma will
alter the tree as necessary.

Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
mm/mmap.c

index 9284b15906c132d2c994cfa276ab6fc2f3c481d6..5ba9b8a4e6402f60ca3dbe67a825d1c2ad5c8040 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -781,10 +781,12 @@ int __vma_adjust(struct vma_iterator *vmi, struct vm_area_struct *vma,
        }
 
        if (start != vma->vm_start) {
-               if ((vma->vm_start < start) &&
-                   (!insert || (insert->vm_end != start))) {
-                       vma_iter_clear(vmi, vma->vm_start, start);
-                       VM_WARN_ON(insert && insert->vm_start > vma->vm_start);
+               if (vma->vm_start < start) {
+                       if (!insert || (insert->vm_end != start)) {
+                               vma_iter_clear(vmi, vma->vm_start, start);
+                               vma_iter_set(vmi, start);
+                               VM_WARN_ON(insert && insert->vm_start > vma->vm_start);
+                       }
                } else {
                        vma_changed = true;
                }