[PATCH v2] KVM: arm64: Remove stage 2 read fault check
Wei-Lin Chang
r09922117 at csie.ntu.edu.tw
Sun Sep 7 23:48:06 PDT 2025
In the non-NV case, read permission is always granted when mapping
stage-2, so checking for it doesn't bring much. On the other hand,
shadow stage-2 for NV guests could potentially have non-readable
mappings when we align the permissions with those that L1 set for L2, we
shouldn't be checking for read faults in this case either.
So just remove this check.
Suggested-by: Oliver Upton <oliver.upton at linux.dev>
Suggested-by: Marc Zyngier <maz at kernel.org>
Signed-off-by: Wei-Lin Chang <r09922117 at csie.ntu.edu.tw>
---
Changes in v2, thanks to those listed in the Suggested-by tags:
- remove the read fault check instead of skipping it for NV
- Link to v1: https://lore.kernel.org/kvmarm/20250822031853.2007437-1-r09922117@csie.ntu.edu.tw/
---
arch/arm64/kvm/mmu.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c
index 1c78864767c5c..fb239cd9f7a67 100644
--- a/arch/arm64/kvm/mmu.c
+++ b/arch/arm64/kvm/mmu.c
@@ -1508,11 +1508,6 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa,
exec_fault = kvm_vcpu_trap_is_exec_fault(vcpu);
VM_BUG_ON(write_fault && exec_fault);
- if (fault_is_perm && !write_fault && !exec_fault) {
- kvm_err("Unexpected L2 read permission error\n");
- return -EFAULT;
- }
-
if (!is_protected_kvm_enabled())
memcache = &vcpu->arch.mmu_page_cache;
else
--
2.50.1
More information about the linux-arm-kernel
mailing list