From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48766) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XKNUE-0003vH-M1 for qemu-devel@nongnu.org; Thu, 21 Aug 2014 04:12:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XKNUA-0002XI-3Z for qemu-devel@nongnu.org; Thu, 21 Aug 2014 04:12:46 -0400 Received: from mail-we0-x230.google.com ([2a00:1450:400c:c03::230]:53636) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XKNU9-0002XB-SG for qemu-devel@nongnu.org; Thu, 21 Aug 2014 04:12:42 -0400 Received: by mail-we0-f176.google.com with SMTP id q58so8900711wes.7 for ; Thu, 21 Aug 2014 01:12:41 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <53F5A9F4.1030103@redhat.com> Date: Thu, 21 Aug 2014 10:12:36 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1408549805-20956-1-git-send-email-pbonzini@redhat.com> <20140820191731.GA28370@redhat.com> In-Reply-To: <20140820191731.GA28370@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] pci_bridge: manually destroy memory regions within PCIBridgeWindows List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: peter.maydell@linaro.org, arei.gonglei@huawei.com, knut.omang@oracle.com, qemu-devel@nongnu.org Il 20/08/2014 21:17, Michael S. Tsirkin ha scritto: > On Wed, Aug 20, 2014 at 05:50:05PM +0200, Paolo Bonzini wrote: >> The regions are destroyed and recreated on configuration space accesses. >> We need to destroy them before the containing PCIBridgeWindows object >> is freed. >> >> Reported-by: Gonglei >> Reported-by: Knut Omang >> Signed-off-by: Paolo Bonzini > > > Regression in 2.1? Cc stable? > >> --- >> hw/pci/pci_bridge.c | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/hw/pci/pci_bridge.c b/hw/pci/pci_bridge.c >> index 1307265..40c97b1 100644 >> --- a/hw/pci/pci_bridge.c >> +++ b/hw/pci/pci_bridge.c >> @@ -219,6 +219,12 @@ static void pci_bridge_region_del(PCIBridge *br, PCIBridgeWindows *w) >> >> static void pci_bridge_region_cleanup(PCIBridge *br, PCIBridgeWindows *w) >> { >> + object_unparent(OBJECT(&w->alias_io)); >> + object_unparent(OBJECT(&w->alias_mem)); >> + object_unparent(OBJECT(&w->alias_pref_mem)); >> + object_unparent(OBJECT(&w->alias_vga[QEMU_PCI_VGA_IO_LO])); >> + object_unparent(OBJECT(&w->alias_vga[QEMU_PCI_VGA_IO_HI])); >> + object_unparent(OBJECT(&w->alias_vga[QEMU_PCI_VGA_MEM])); >> g_free(w); >> } >> >> -- >> 1.8.3.1 No, regression from yesterday. Paolo