From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takuya Yoshikawa Subject: Re: [PATCH] KVM: fix to not use NULL kvm->coalesced_mmio_ring in kvm_vcpu_fault() Date: Fri, 12 Mar 2010 13:22:53 +0900 Message-ID: <4B99C19D.9080806@oss.ntt.co.jp> References: <20100312120523.1b147c58.yoshikawa.takuya@oss.ntt.co.jp> <4B99B848.6000006@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: avi@redhat.com, mtosatti@redhat.com, kvm@vger.kernel.org To: Wei Yongjun Return-path: Received: from serv2.oss.ntt.co.jp ([222.151.198.100]:55835 "EHLO serv2.oss.ntt.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752793Ab0CLEUT (ORCPT ); Thu, 11 Mar 2010 23:20:19 -0500 In-Reply-To: <4B99B848.6000006@cn.fujitsu.com> Sender: kvm-owner@vger.kernel.org List-ID: Wei Yongjun wrote: > If coalesced_mmio init fail, the kvm->coalesced_mmio_ring will be set > to NULL. If so, we should return VM_FAULT_SIGBUS in kvm_vcpu_fault() > even if vmf->pgoff == KVM_COALESCED_MMIO_PAGE_OFFSET. > > Signed-off-by: Wei Yongjun > --- > virt/kvm/kvm_main.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > index e758ef7..0e06a6d 100644 > --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -1253,7 +1253,8 @@ static int kvm_vcpu_fault(struct vm_area_struct *vma, struct vm_fault *vmf) > page = virt_to_page(vcpu->arch.pio_data); > #endif > #ifdef KVM_COALESCED_MMIO_PAGE_OFFSET > - else if (vmf->pgoff == KVM_COALESCED_MMIO_PAGE_OFFSET) > + else if (vmf->pgoff == KVM_COALESCED_MMIO_PAGE_OFFSET && > + vcpu->kvm->coalesced_mmio_ring) > page = virt_to_page(vcpu->kvm->coalesced_mmio_ring); > #endif > else Btw, I am not certain if we can continue the normal path even if kvm_coalesced_mmio_init() fails.