From mboxrd@z Thu Jan 1 00:00:00 1970 From: hrg Subject: Re: [Qemu-devel] [PATCH v2] KVM: pci-assign: do not map smm memory slot pages Date: Mon, 27 Mar 2017 20:58:41 +0800 Message-ID: References: <20170325111424.21752-1-herongguang.he@huawei.com> <58D8BD6D.8080404@huawei.com> <4c9e0c46-ac81-a455-e2ed-530ad916ff71@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: "Herongguang (Stephen)" , rkrcmar@redhat.com, kvm@vger.kernel.org, wangxinxin.wang@huawei.com, qemu-devel@nongnu.org To: Paolo Bonzini Return-path: Received: from mail-wr0-f195.google.com ([209.85.128.195]:35405 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752147AbdC0M7L (ORCPT ); Mon, 27 Mar 2017 08:59:11 -0400 Received: by mail-wr0-f195.google.com with SMTP id p52so10068414wrc.2 for ; Mon, 27 Mar 2017 05:58:42 -0700 (PDT) In-Reply-To: <4c9e0c46-ac81-a455-e2ed-530ad916ff71@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Mon, Mar 27, 2017 at 8:22 PM, Paolo Bonzini wrote: > > > On 27/03/2017 09:21, Herongguang (Stephen) wrote: >> From f6f0ee6831488bef7af841cb86f3d85a04848fe5 Mon Sep 17 00:00:00 2001 >> From: herongguang >> Date: Mon, 27 Mar 2017 15:08:59 +0800 >> Subject: [PATCH] KVM: pci-assign: do not map smm memory slot pages >> in vt-d page table >> >> or VM memory are not put thus leaked in kvm_iommu_unmap_memslots() when >> destroy VM. >> >> This is consistent with current vfio implementation. > > Oops, you forgot a Signed-off-by. Sorry, I forget this, I'll resend it tomorrow since I am home now. PS, what's your opinion about this (http://www.spinics.net/lists/kvm/msg146914.html)? > > Paolo > >> --- >> virt/kvm/kvm_main.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c >> index 482612b..9018d06 100644 >> --- a/virt/kvm/kvm_main.c >> +++ b/virt/kvm/kvm_main.c >> @@ -1052,7 +1052,7 @@ int __kvm_set_memory_region(struct kvm *kvm, >> * changes) is disallowed above, so any other attribute changes >> getting >> * here can be skipped. >> */ >> - if ((change == KVM_MR_CREATE) || (change == KVM_MR_MOVE)) { >> + if ((as_id == 0) && ((change == KVM_MR_CREATE) || (change == >> KVM_MR_MOVE))) { >> r = kvm_iommu_map_pages(kvm, &new); >> return r; >> } >