diff mbox series

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

Message ID 20210510165839.2692974-21-Liam.Howlett@Oracle.com (mailing list archive)
State New, archived
Headers show
Series mm: Add vma_lookup() | expand

Commit Message

Liam R. Howlett May 10, 2021, 4:58 p.m. UTC
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(-)

Comments

Davidlohr Bueso May 21, 2021, 3:47 a.m. UTC | #1
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
Liam R. Howlett May 21, 2021, 2:27 p.m. UTC | #2
* 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
diff mbox series

Patch

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;
 
-	if (!vma || vma->vm_start > addr)
+	if (!vma)
 		return ERR_PTR(-EFAULT);
 
 	/*