arch/riscv/kvm/mmu.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
From: Quan Zhou <zhouquan@iscas.ac.cn>
There is already a helper function find_vma_intersection() in KVM
for searching intersecting VMAs, use it directly.
Signed-off-by: Quan Zhou <zhouquan@iscas.ac.cn>
---
arch/riscv/kvm/mmu.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/riscv/kvm/mmu.c b/arch/riscv/kvm/mmu.c
index b63650f9b966..3452a8b77af3 100644
--- a/arch/riscv/kvm/mmu.c
+++ b/arch/riscv/kvm/mmu.c
@@ -487,10 +487,11 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
* +--------------------------------------------+
*/
do {
- struct vm_area_struct *vma = find_vma(current->mm, hva);
+ struct vm_area_struct *vma;
hva_t vm_start, vm_end;
- if (!vma || vma->vm_start >= reg_end)
+ vma = find_vma_intersection(current->mm, hva, reg_end);
+ if (!vma)
break;
/*
--
2.34.1
On Tue, Jun 17, 2025 at 6:43 PM <zhouquan@iscas.ac.cn> wrote: > > From: Quan Zhou <zhouquan@iscas.ac.cn> > > There is already a helper function find_vma_intersection() in KVM > for searching intersecting VMAs, use it directly. > > Signed-off-by: Quan Zhou <zhouquan@iscas.ac.cn> LGTM. Reviewed-by: Anup Patel <anup@brainfault.org> Queued this patch for Linux-6.17 Thanks, Anup > --- > arch/riscv/kvm/mmu.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/arch/riscv/kvm/mmu.c b/arch/riscv/kvm/mmu.c > index b63650f9b966..3452a8b77af3 100644 > --- a/arch/riscv/kvm/mmu.c > +++ b/arch/riscv/kvm/mmu.c > @@ -487,10 +487,11 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm, > * +--------------------------------------------+ > */ > do { > - struct vm_area_struct *vma = find_vma(current->mm, hva); > + struct vm_area_struct *vma; > hva_t vm_start, vm_end; > > - if (!vma || vma->vm_start >= reg_end) > + vma = find_vma_intersection(current->mm, hva, reg_end); > + if (!vma) > break; > > /* > -- > 2.34.1 >
© 2016 - 2025 Red Hat, Inc.