From: Liam R. Howlett <Liam.Howlett@oracle.com>
Date: Wed, 5 Apr 2023 15:43:07 +0000 (-0400)
Subject: mm/mmap: Change do_vmi_align_munmap() for maple tree iterator changes
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=b0e285d800ae77fe19af5045ba741257dd2eece3;p=users%2Fjedix%2Flinux-maple.git

mm/mmap: Change do_vmi_align_munmap() for maple tree iterator changes

The maple tree iterator clean up is incompatible with the way
do_vmi_align_munmap() expects it to behave.  Update the expected
behaviour to map now since the change will work currently.

Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
---

diff --git a/mm/mmap.c b/mm/mmap.c
index bae6edc2441a..4191ed8ee5fe 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -2345,7 +2345,11 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma,
 #endif
 	}
 
-	next = vma_next(vmi);
+	if (vma_iter_end(vmi) > end)
+		next = vma_iter_load(vmi);
+	else
+		next = vma_next(vmi);
+
 	if (unlikely(uf)) {
 		/*
 		 * If userfaultfd_unmap_prep returns an error the vmas