Re: [PATCH] KVM: arm64: Fix unaligned addr case in mmu walking
From: Will Deacon <will@kernel.org>
Date: 2021-03-04 09:23:43
Also in:
kvmarm, lkml
On Thu, Mar 04, 2021 at 09:16:25AM +0000, Marc Zyngier wrote:
On 2021-03-04 00:46, Justin He wrote:quoted
quoted
On Wed, Mar 03, 2021 at 07:07:37PM +0000, Marc Zyngier wrote:quoted
From e0524b41a71e0f17d6dc8f197e421e677d584e72 Mon Sep 17 00:00:00 2001 From: Jia He <redacted> Date: Wed, 3 Mar 2021 10:42:25 +0800 Subject: [PATCH] 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 at the before the next iteration"at the before the next" ???quoted
addresses the issue. Cc: stable@vger.kernel.org Reported-by: Howard Zhang <redacted> Signed-off-by: Jia He <redacted> Fixes: b1e57de62cfb ("KVM: arm64: Add stand-alone page-table walkerinfrastructure")quoted
[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 (local) --- 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 4d177ce1d536..124cd2f93020 100644 --- a/arch/arm64/kvm/hyp/pgtable.c +++ b/arch/arm64/kvm/hyp/pgtable.c@@ -223,7 +223,7 @@ static inline int __kvm_pgtable_visit(structkvm_pgtable_walk_data *data,quoted
goto out; if (!table) { - data->addr += kvm_granule_size(level); + data->addr = ALIGN(data->addr, kvm_granule_size(level));What if previous data->addr is already aligned with kvm_granule_size(level)? Hence a deadloop? Am I missing anything else?Indeed, well spotted. I'll revert to your original suggestion if everybody agrees...
Heh, yeah, at least one of us is awake. For the original patch, with the updated (including typo fix) commit message: Acked-by: Will Deacon <will@kernel.org> If that still counts for anything! Will _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel