]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
KVM: arm64: Kill exec_fault from kvm_s2_fault
authorMarc Zyngier <maz@kernel.org>
Mon, 9 Mar 2026 11:28:11 +0000 (11:28 +0000)
committerMarc Zyngier <maz@kernel.org>
Sat, 28 Mar 2026 11:29:41 +0000 (11:29 +0000)
Similarly to write_fault, exec_fault can be advantageously replaced
by the kvm_vcpu_trap_is_exec_fault() predicate where needed.

Another one bites the dust...

Tested-by: Fuad Tabba <tabba@google.com>
Reviewed-by: Fuad Tabba <tabba@google.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/mmu.c

index 7dab0c3faa5bfe41cb420ab8935db79f45754b67..e8bda71e862b22e7f6f8c002eb6db0db39f041d0 100644 (file)
@@ -1711,7 +1711,6 @@ static short kvm_s2_resolve_vma_size(const struct kvm_s2_fault_desc *s2fd,
 }
 
 struct kvm_s2_fault {
-       bool exec_fault;
        bool writable;
        bool topup_memcache;
        bool mte_allowed;
@@ -1857,7 +1856,7 @@ static int kvm_s2_fault_compute_prot(const struct kvm_s2_fault_desc *s2fd,
                fault->writable = false;
        }
 
-       if (fault->exec_fault && fault->s2_force_noncacheable)
+       if (kvm_vcpu_trap_is_exec_fault(s2fd->vcpu) && fault->s2_force_noncacheable)
                return -ENOEXEC;
 
        /*
@@ -1877,7 +1876,7 @@ static int kvm_s2_fault_compute_prot(const struct kvm_s2_fault_desc *s2fd,
        if (fault->writable)
                fault->prot |= KVM_PGTABLE_PROT_W;
 
-       if (fault->exec_fault)
+       if (kvm_vcpu_trap_is_exec_fault(s2fd->vcpu))
                fault->prot |= KVM_PGTABLE_PROT_X;
 
        if (fault->s2_force_noncacheable)
@@ -1984,7 +1983,6 @@ static int user_mem_abort(const struct kvm_s2_fault_desc *s2fd)
                .logging_active = logging_active,
                .force_pte = logging_active,
                .prot = KVM_PGTABLE_PROT_R,
-               .exec_fault = kvm_vcpu_trap_is_exec_fault(s2fd->vcpu),
                .topup_memcache = !perm_fault || (logging_active && kvm_is_write_fault(s2fd->vcpu)),
        };
        void *memcache;