[PATCH] RISC-V: KVM: Allow memslots ending at the GPA limit
Anup Patel
anup at brainfault.org
Fri Aug 7 09:40:20 PDT 2026
On Sat, Jul 18, 2026 at 9:22 AM Pengpeng Hou <pengpeng at iscas.ac.cn> wrote:
>
> KVM memslots describe half-open ranges [base_gfn, base_gfn + npages). A
> slot ending exactly at the guest physical-address limit has its final page
> below that limit and is valid.
>
> The current greater-than-or-equal comparison rejects a valid boundary case.
> Use a strict greater-than comparison, matching equivalent KVM architecture
> checks.
>
> Fixes: 9d05c1fee837 ("RISC-V: KVM: Implement stage2 page table programming")
> Signed-off-by: Pengpeng Hou <pengpeng at iscas.ac.cn>
LGTM.
Reviewed-by: Anup Patel <anup at brainfault.org>
Queued this patch for Linux-7.3
Thanks,
Anup
> ---
> arch/riscv/kvm/mmu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/riscv/kvm/mmu.c b/arch/riscv/kvm/mmu.c
> index 082f9b2617338..d3c0c699adb60 100644
> --- a/arch/riscv/kvm/mmu.c
> +++ b/arch/riscv/kvm/mmu.c
> @@ -184,7 +184,7 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
> * Prevent userspace from creating a memory region outside of the GPA
> * space addressable by the KVM guest GPA space.
> */
> - if ((new->base_gfn + new->npages) >=
> + if ((new->base_gfn + new->npages) >
> kvm_riscv_gstage_gpa_size(kvm->arch.pgd_levels) >> PAGE_SHIFT)
> return -EFAULT;
>
> --
> 2.43.0
>
More information about the kvm-riscv
mailing list