From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH] kvm:x86:Call BUG_ON marco if calls to x86_set_memory_region fail in kvm_arch_destroy Date: Fri, 7 Aug 2015 10:54:33 +0200 Message-ID: <55C47249.1020308@redhat.com> References: <1438870421-26825-1-git-send-email-xerofoify@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: x86@kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org To: Nicholas Krause , gleb@kernel.org Return-path: In-Reply-To: <1438870421-26825-1-git-send-email-xerofoify@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 06/08/2015 16:13, Nicholas Krause wrote: > This fixes the calls to x86_memory_region to trigger a kernel > oopes for tracing if a bug arises in the function kvm_arch_destroy > due to the failing of any of its internal calls to x86_set_memory_region. > > Signed-off-by: Nicholas Krause > --- > arch/x86/kvm/x86.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index 5ef2560..3866cf3 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -7745,6 +7745,7 @@ EXPORT_SYMBOL_GPL(x86_set_memory_region); > > void kvm_arch_destroy_vm(struct kvm *kvm) > { > + int ret; > if (current->mm == kvm->mm) { > /* > * Free memory regions allocated on behalf of userspace, > @@ -7754,13 +7755,16 @@ void kvm_arch_destroy_vm(struct kvm *kvm) > struct kvm_userspace_memory_region mem; > memset(&mem, 0, sizeof(mem)); > mem.slot = APIC_ACCESS_PAGE_PRIVATE_MEMSLOT; > - x86_set_memory_region(kvm, &mem); > + ret = x86_set_memory_region(kvm, &mem); > + BUG_ON(ret); > > mem.slot = IDENTITY_PAGETABLE_PRIVATE_MEMSLOT; > - x86_set_memory_region(kvm, &mem); > + ret = x86_set_memory_region(kvm, &mem); > + BUG_ON(ret); > > mem.slot = TSS_PRIVATE_MEMSLOT; > - x86_set_memory_region(kvm, &mem); > + ret = x86_set_memory_region(kvm, &mem); > + BUG_ON(ret); > } > kvm_iommu_unmap_guest(kvm); > kfree(kvm->arch.vpic); > No, not at all! Leaking 12k of RAM is not a reason to crash the machine. WARN_ON would be acceptable. Paolo