mmap: convert vma_link() vma iterator
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Fri, 20 Jan 2023 16:26:11 +0000 (11:26 -0500)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 10 Feb 2023 00:51:32 +0000 (16:51 -0800)
Avoid using the maple tree interface directly.

Link: https://lkml.kernel.org/r/20230120162650.984577-11-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 94a477a..17de99f 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -487,10 +487,10 @@ static inline void vma_mas_szero(struct ma_state *mas, unsigned long start,
 
 static int vma_link(struct mm_struct *mm, struct vm_area_struct *vma)
 {
-       MA_STATE(mas, &mm->mm_mt, 0, 0);
+       VMA_ITERATOR(vmi, mm, 0);
        struct address_space *mapping = NULL;
 
-       if (mas_preallocate(&mas, GFP_KERNEL))
+       if (vma_iter_prealloc(&vmi))
                return -ENOMEM;
 
        if (vma->vm_file) {
@@ -498,7 +498,7 @@ static int vma_link(struct mm_struct *mm, struct vm_area_struct *vma)
                i_mmap_lock_write(mapping);
        }
 
-       vma_mas_store(vma, &mas);
+       vma_iter_store(&vmi, vma);
 
        if (mapping) {
                __vma_link_file(vma, mapping);