From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [PATCH 8/9] KVM: do not release the error pfn Date: Thu, 2 Aug 2012 10:14:01 -0300 Message-ID: <20120802131401.GD25344@amt.cnet> References: <5014F053.8020305@linux.vnet.ibm.com> <5014F1F2.3020202@linux.vnet.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Avi Kivity , LKML , KVM To: Xiao Guangrong Return-path: Content-Disposition: inline In-Reply-To: <5014F1F2.3020202@linux.vnet.ibm.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On Sun, Jul 29, 2012 at 04:18:58PM +0800, Xiao Guangrong wrote: > After commit a2766325cf9f9, the error pfn is replaced by the > error code, it need not be released anymore > > [ The patch is compiling tested for powerpc ] > > Signed-off-by: Xiao Guangrong > --- > arch/powerpc/kvm/e500_tlb.c | 1 - > arch/x86/kvm/mmu.c | 6 +++--- > arch/x86/kvm/mmu_audit.c | 4 +--- > arch/x86/kvm/paging_tmpl.h | 8 ++------ > virt/kvm/iommu.c | 1 - > virt/kvm/kvm_main.c | 14 ++++++++------ > 6 files changed, 14 insertions(+), 20 deletions(-) > > diff --git a/arch/powerpc/kvm/e500_tlb.c b/arch/powerpc/kvm/e500_tlb.c > index c8f6c58..09ce5ac 100644 > --- a/arch/powerpc/kvm/e500_tlb.c > +++ b/arch/powerpc/kvm/e500_tlb.c > @@ -524,7 +524,6 @@ static inline void kvmppc_e500_shadow_map(struct kvmppc_vcpu_e500 *vcpu_e500, > if (is_error_pfn(pfn)) { > printk(KERN_ERR "Couldn't get real page for gfn %lx!\n", > (long)gfn); > - kvm_release_pfn_clean(pfn); > return; > } > > diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c > index 320a781..949a5b8 100644 > --- a/arch/x86/kvm/mmu.c > +++ b/arch/x86/kvm/mmu.c > @@ -2498,7 +2498,9 @@ static void mmu_set_spte(struct kvm_vcpu *vcpu, u64 *sptep, > rmap_recycle(vcpu, sptep, gfn); > } > } > - kvm_release_pfn_clean(pfn); > + > + if (!is_error_pfn(pfn)) > + kvm_release_pfn_clean(pfn); > } Can it ever be error_pfn? Seems a problem if so.