[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] pci_bridge: manually destroy memory regions wit
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH] pci_bridge: manually destroy memory regions within PCIBridgeWindows |
Date: |
Thu, 21 Aug 2014 10:12:36 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.7.0 |
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 <address@hidden>
>> Reported-by: Knut Omang <address@hidden>
>> Signed-off-by: Paolo Bonzini <address@hidden>
>
>
> 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