KVM: arm64: pkvm: Fallback to level-3 mapping on host stage-2 fault
authorMarc Zyngier <maz@kernel.org>
Thu, 5 Mar 2026 13:27:51 +0000 (13:27 +0000)
committerMarc Zyngier <maz@kernel.org>
Thu, 5 Mar 2026 15:18:47 +0000 (15:18 +0000)
commit8531d5a83d8eb8affb5c0249b466c28d94192603
tree9748baa2ba9c017d9416f829095127b7212734b9
parentac6769c8f948dff33265c50e524aebf9aa6f1be0
KVM: arm64: pkvm: Fallback to level-3 mapping on host stage-2 fault

If, for any odd reason, we cannot converge to mapping size that is
completely contained in a memblock region, we fail to install a S2
mapping and go back to the faulting instruction. Rince, repeat.

This happens when faulting in regions that are smaller than a page
or that do not have PAGE_SIZE-aligned boundaries (as witnessed on
an O6 board that refuses to boot in protected mode).

In this situation, fallback to using a PAGE_SIZE mapping anyway --
it isn't like we can go any lower.

Fixes: e728e705802fe ("KVM: arm64: Adjust range correctly during host stage-2 faults")
Link: https://lore.kernel.org/r/86wlzr77cn.wl-maz@kernel.org
Cc: stable@vger.kernel.org
Cc: Quentin Perret <qperret@google.com>
Reviewed-by: Quentin Perret <qperret@google.com>
Link: https://patch.msgid.link/20260305132751.2928138-1-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/hyp/nvhe/mem_protect.c