OSDN Git Service

mmap: pass through vmi iterator to __split_vma()
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Fri, 20 Jan 2023 16:26:25 +0000 (11:26 -0500)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 10 Feb 2023 00:51:34 +0000 (16:51 -0800)
Use the vma iterator so that the iterator can be invalidated or updated to
avoid each caller doing so.

Link: https://lkml.kernel.org/r/20230120162650.984577-25-Liam.Howlett@oracle.com
Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/mmap.c

index 408e9cc..2b588b8 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -2388,7 +2388,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma,
                if (end < vma->vm_end && mm->map_count >= sysctl_max_map_count)
                        goto map_count_exceeded;
 
-               error = __split_vma(mm, vma, start, 0);
+               error = vmi__split_vma(vmi, mm, vma, start, 0);
                if (error)
                        goto start_split_failed;
 
@@ -2409,7 +2409,7 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma,
                if (next->vm_end > end) {
                        struct vm_area_struct *split;
 
-                       error = __split_vma(mm, next, end, 1);
+                       error = vmi__split_vma(vmi, mm, next, end, 1);
                        if (error)
                                goto end_split_failed;