mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-27 12:57:53 +00:00
mmap: convert vma_expand() to use vma iterator
Use the vma iterator instead of the maple state for type safety and for consistency through the mm code. Link: https://lkml.kernel.org/r/20230120162650.984577-14-Liam.Howlett@oracle.com Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
183654ce26
commit
3c441ab7d0
1 changed files with 4 additions and 5 deletions
|
@ -527,7 +527,7 @@ static int vma_link(struct mm_struct *mm, struct vm_area_struct *vma)
|
|||
*
|
||||
* Returns: 0 on success
|
||||
*/
|
||||
inline int vma_expand(struct ma_state *mas, struct vm_area_struct *vma,
|
||||
inline int vma_expand(struct vma_iterator *vmi, struct vm_area_struct *vma,
|
||||
unsigned long start, unsigned long end, pgoff_t pgoff,
|
||||
struct vm_area_struct *next)
|
||||
{
|
||||
|
@ -556,7 +556,7 @@ inline int vma_expand(struct ma_state *mas, struct vm_area_struct *vma,
|
|||
/* Only handles expanding */
|
||||
VM_BUG_ON(vma->vm_start < start || vma->vm_end > end);
|
||||
|
||||
if (mas_preallocate(mas, GFP_KERNEL))
|
||||
if (vma_iter_prealloc(vmi))
|
||||
goto nomem;
|
||||
|
||||
vma_adjust_trans_huge(vma, start, end, 0);
|
||||
|
@ -581,8 +581,7 @@ inline int vma_expand(struct ma_state *mas, struct vm_area_struct *vma,
|
|||
vma->vm_start = start;
|
||||
vma->vm_end = end;
|
||||
vma->vm_pgoff = pgoff;
|
||||
/* Note: mas must be pointing to the expanding VMA */
|
||||
vma_mas_store(vma, mas);
|
||||
vma_iter_store(vmi, vma);
|
||||
|
||||
if (file) {
|
||||
vma_interval_tree_insert(vma, root);
|
||||
|
@ -2600,7 +2599,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
|
|||
|
||||
/* Actually expand, if possible */
|
||||
if (vma &&
|
||||
!vma_expand(&vmi.mas, vma, merge_start, merge_end, vm_pgoff, next)) {
|
||||
!vma_expand(&vmi, vma, merge_start, merge_end, vm_pgoff, next)) {
|
||||
khugepaged_enter_vma(vma, vm_flags);
|
||||
goto expanded;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue