mirror of https://gitee.com/openkylin/linux.git
mm/memory.c: use vma_lookup() in __access_remote_vm()
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. Link: https://lkml.kernel.org/r/20210521174745.2219620-22-Liam.Howlett@Oracle.com Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com> Reviewed-by: Laurent Dufour <ldufour@linux.ibm.com> Acked-by: David Hildenbrand <david@redhat.com> Acked-by: Davidlohr Bueso <dbueso@suse.de> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
5aaf07f081
commit
3e418f9888
|
@ -4994,8 +4994,8 @@ int __access_remote_vm(struct mm_struct *mm, unsigned long addr, void *buf,
|
|||
* Check if this is a VM_IO | VM_PFNMAP VMA, which
|
||||
* we can access using slightly different code.
|
||||
*/
|
||||
vma = find_vma(mm, addr);
|
||||
if (!vma || vma->vm_start > addr)
|
||||
vma = vma_lookup(mm, addr);
|
||||
if (!vma)
|
||||
break;
|
||||
if (vma->vm_ops && vma->vm_ops->access)
|
||||
ret = vma->vm_ops->access(vma, addr, buf,
|
||||
|
|
Loading…
Reference in New Issue