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

From: Davidlohr Bueso
Date: Thu May 20 2021 - 23:51:19 EST


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@xxxxxxxxxx>
---
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