[PATCH v3 13/66] xen/privcmd: Optimized privcmd_ioctl_mmap() by using vma_lookup()

From: Liam Howlett
Date: Mon Oct 04 2021 - 21:34:25 EST


From: "Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>

vma_lookup() walks the VMA tree for a specific value, find_vma() will
search the tree after walking to a specific value. It is more efficient
to only walk to the requested value as this case requires the address to
equal the vm_start.

Signed-off-by: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx>
---
drivers/xen/privcmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 720a7b7abd46..5f903ae9af7e 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -282,7 +282,7 @@ static long privcmd_ioctl_mmap(struct file *file, void __user *udata)
struct page, lru);
struct privcmd_mmap_entry *msg = page_address(page);

- vma = find_vma(mm, msg->va);
+ vma = vma_lookup(mm, msg->va);
rc = -EINVAL;

if (!vma || (msg->va != vma->vm_start) || vma->vm_private_data)
--
2.30.2