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

Liam Howlett
2021-05-21T14:28:18Z

* Davidlohr Bueso <dave@stgolabs.net> [210520 23:47]:
> 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?

Yes, I will make this change.

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