Skip to content

Commit

Permalink
vma_merge: set vma iterator to correct position.
Browse files Browse the repository at this point in the history
When merging the previous value, set the vma iterator to the previous
slot.  Don't use the vma iterator to get the next/prev so that it is in
the correct position for a write.

Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Liam R. Howlett <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
  • Loading branch information
howlett authored and akpm00 committed Feb 10, 2023
1 parent 0503ea8 commit 18b098a
Showing 1 changed file with 1 addition and 3 deletions.
4 changes: 1 addition & 3 deletions mm/mmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -932,6 +932,7 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm,
&& can_vma_merge_after(prev, vm_flags, anon_vma, file,
pgoff, vm_userfaultfd_ctx, anon_name)) {
merge_prev = true;
vma_prev(vmi);
}
}
/* Can we merge the successor? */
Expand Down Expand Up @@ -1023,9 +1024,6 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm,
validate_mm(mm);
khugepaged_enter_vma(res, vm_flags);

if (res)
vma_iter_set(vmi, end);

return res;
}

Expand Down

0 comments on commit 18b098a

Please sign in to comment.