From c4c362949dcaaaabaa5db34acaa6e91b9912094c Mon Sep 17 00:00:00 2001 From: Fuad Tabba Date: Thu, 22 Oct 2026 13:30:54 +0100 Subject: [PATCH] KVM: arm64: Return on kvm_gmem_get_pfn() failure in gmem_abort() The kvm-arm64/mmu-fixes-7.4 merge dropped the return from the kvm_gmem_get_pfn() error path in gmem_abort(). Both parents of the merge keep that return. On a failed kvm_gmem_get_pfn(), gmem_abort() then carries on with a zero pfn, and on a nested stage-2 it uses the mapping it has just freed. Restore the return. Fixes: 65f95b2874a15 ("Merge branch kvm-arm64/mmu-fixes-7.4 into kvmarm-master/next") Signed-off-by: Fuad Tabba Reviewed-by: Suzuki K Poulose Link: https://patch.msgid.link/20261022123054.31729-1-fuad.tabba@linux.dev Signed-off-by: Marc Zyngier --- arch/arm64/kvm/mmu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c index 745cb86f9e04..b1cbeca2104d 100644 --- a/arch/arm64/kvm/mmu.c +++ b/arch/arm64/kvm/mmu.c @@ -1781,6 +1781,7 @@ static int gmem_abort(const struct kvm_s2_fault_desc *s2fd, s2vi.vma_pagesize, write_fault, exec_fault, false); kfree(mapping); + return ret; } if (!(s2fd->memslot->flags & KVM_MEM_READONLY))