Skip to content

Commit

Permalink
madvise: use split_vma() instead of __split_vma()
Browse files Browse the repository at this point in the history
The split_vma() wrapper is specifically for this use case, so use it.

[Liam.Howlett@oracle.com: fix VMA_ITERATOR start position]
  Link: https://lkml.kernel.org/r/20230125135809.85262-1-Liam.Howlett@oracle.com
Link: https://lkml.kernel.org/r/20230120162650.984577-34-Liam.Howlett@oracle.com
Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
  • Loading branch information
howlett authored and akpm00 committed Feb 10, 2023
1 parent 9e56044 commit 85ab779
Showing 1 changed file with 3 additions and 7 deletions.
10 changes: 3 additions & 7 deletions mm/madvise.c
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ static int madvise_update_vma(struct vm_area_struct *vma,
struct mm_struct *mm = vma->vm_mm;
int error;
pgoff_t pgoff;
VMA_ITERATOR(vmi, mm, 0);
VMA_ITERATOR(vmi, mm, start);

if (new_flags == vma->vm_flags && anon_vma_name_eq(anon_vma_name(vma), anon_name)) {
*prev = vma;
Expand All @@ -161,17 +161,13 @@ static int madvise_update_vma(struct vm_area_struct *vma,
*prev = vma;

if (start != vma->vm_start) {
if (unlikely(mm->map_count >= sysctl_max_map_count))
return -ENOMEM;
error = __split_vma(&vmi, vma, start, 1);
error = split_vma(&vmi, vma, start, 1);
if (error)
return error;
}

if (end != vma->vm_end) {
if (unlikely(mm->map_count >= sysctl_max_map_count))
return -ENOMEM;
error = __split_vma(&vmi, vma, end, 0);
error = split_vma(&vmi, vma, end, 0);
if (error)
return error;
}
Expand Down

0 comments on commit 85ab779

Please sign in to comment.