[PATCH v1 09/13] KVM: arm64: Simplify return logic in user_mem_abort()
Fuad Tabba
tabba at google.com
Fri Mar 6 06:02:28 PST 2026
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 <tabba at google.com>
---
arch/arm64/kvm/mmu.c | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c
index 01f4f4bee155..35bcacba5800 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. */
--
2.53.0.473.g4a7958ca14-goog
More information about the linux-arm-kernel
mailing list