]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: arm64: Fix range alignment when walking page tables
authorJia He <justin.he@arm.com>
Fri, 5 Mar 2021 18:52:54 +0000 (18:52 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 6 Mar 2021 09:18:41 +0000 (04:18 -0500)
commit54c701b6cfe58e8d1a1364cf4d572e4a780f6c43
treea1a463e721b69500fe6e54cf2f3f493a57691216
parent021e47094baebeee3558db1e3c57df029933a5c2
KVM: arm64: Fix range alignment when walking page tables

When walking the page tables at a given level, and if the start
address for the range isn't aligned for that level, we propagate
the misalignment on each iteration at that level.

This results in the walker ignoring a number of entries (depending
on the original misalignment) on each subsequent iteration.

Properly aligning the address before the next iteration addresses
this issue.

Cc: stable@vger.kernel.org
Reported-by: Howard Zhang <Howard.Zhang@arm.com>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Jia He <justin.he@arm.com>
Fixes: 8a18826ce04f ("KVM: arm64: Add stand-alone page-table walker infrastructure")
[maz: rewrite commit message]
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210303024225.2591-1-justin.he@arm.com
Message-Id: <20210305185254.3730990-9-maz@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/arm64/kvm/hyp/pgtable.c