Re: [PATCH 20/22] mm/mremap: Use vma_lookup() in vma_to_resize()

Davidlohr Bueso
2021-05-21T03:47:40Z

On Mon, 10 May 2021, Liam Howlett wrote:

>Use vma_lookup() to find the VMA at a specific address. As vma_lookup()
>will return NULL if the address is not within any VMA, the start address
>no longer needs to be validated.
>
>Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
>---
> mm/mremap.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/mm/mremap.c b/mm/mremap.c
>index 47c255b60150..04143755cd1e 100644
>--- a/mm/mremap.c
>+++ b/mm/mremap.c
>@@ -634,10 +634,10 @@ static struct vm_area_struct *vma_to_resize(unsigned long addr,
> unsigned long *p)
> {
> struct mm_struct *mm = current->mm;
>- struct vm_area_struct *vma = find_vma(mm, addr);
>+ struct vm_area_struct *vma = vma_lookup(mm, addr);
> unsigned long pgoff;
>

Nit, but could the vma_lookup() call be separate from the declaration
of vma?

vma = find_vma();
>- if (!vma || vma->vm_start > addr)
>+ if (!vma)
> return ERR_PTR(-EFAULT);

Thanks,
Davidlohr