]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
KVM: PPC: Remove extra get_page() to fix page refcount leak
authorSean Christopherson <seanjc@google.com>
Thu, 10 Oct 2024 18:24:15 +0000 (11:24 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 25 Oct 2024 17:00:49 +0000 (13:00 -0400)
Don't manually do get_page() when patching dcbz, as gfn_to_page() gifts
the caller a reference.  I.e. doing get_page() will leak the page due to
not putting all references.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-ID: <20241010182427.1434605-74-seanjc@google.com>

arch/powerpc/kvm/book3s_pr.c

index d7721297b9b6e36e836947cb2be5ddd4e2d06585..cd7ab6d85090918fdffad8e4f06d55b35a7e23f2 100644 (file)
@@ -652,7 +652,6 @@ static void kvmppc_patch_dcbz(struct kvm_vcpu *vcpu, struct kvmppc_pte *pte)
        hpage_offset &= ~0xFFFULL;
        hpage_offset /= 4;
 
-       get_page(hpage);
        page = kmap_atomic(hpage);
 
        /* patch dcbz into reserved instruction, so we trap */