From: Fuad Tabba Date: Fri, 6 Mar 2026 14:02:28 +0000 (+0000) Subject: KVM: arm64: Simplify return logic in user_mem_abort() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3825373b91b0fbedc65205a59f95379aaf596aad;p=thirdparty%2Fkernel%2Fstable.git KVM: arm64: Simplify return logic in user_mem_abort() With the refactoring done, the final return block of user_mem_abort() can be tidied up a bit more. Clean up the trailing edge by dropping the unnecessary assignment, collapsing the return evaluation for kvm_s2_fault_compute_prot(), and tail calling kvm_s2_fault_map() directly. Signed-off-by: Fuad Tabba Signed-off-by: Marc Zyngier --- diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c index ee653dd4eb27..c5ac9bd87b99 100644 --- a/arch/arm64/kvm/mmu.c +++ b/arch/arm64/kvm/mmu.c @@ -2005,22 +2005,13 @@ static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa, if (ret != 1) return ret; - ret = 0; - ret = kvm_s2_fault_compute_prot(fault); - if (ret == 1) { - ret = 1; /* fault injected */ - goto out_put_page; + if (ret) { + kvm_release_page_unused(fault->page); + return ret; } - if (ret) - goto out_put_page; - ret = kvm_s2_fault_map(fault, memcache); - return ret; - -out_put_page: - kvm_release_page_unused(fault->page); - return ret; + return kvm_s2_fault_map(fault, memcache); } /* Resolve the access fault by making the page young again. */