[PATCH] KVM: arm64: Fix the upper limit of the walker range

Sebastian Ene
2025-01-14T14:51:07Z

Prevent the walker from running into weeds when walking an
entire address range.

Signed-off-by: Sebastian Ene <sebastianene@google.com>
---
arch/arm64/kvm/hyp/pgtable.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/kvm/hyp/pgtable.c b/arch/arm64/kvm/hyp/pgtable.c
index 40bd55966..2ffb5571e 100644
--- a/arch/arm64/kvm/hyp/pgtable.c
+++ b/arch/arm64/kvm/hyp/pgtable.c
@@ -260,7 +260,7 @@ static int _kvm_pgtable_walk(struct kvm_pgtable *pgt, struct kvm_pgtable_walk_da
{
u32 idx;
int ret = 0;
- u64 limit = BIT(pgt->ia_bits);
+ u64 limit = BIT(pgt->ia_bits) - 1;

if (data->addr > limit || data->end > limit)
return -ERANGE;
--
2.47.1.688.g23fc6f90ad-goog