[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 15/15] hw/pci-bridge: Add missing unref in case regis
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL 15/15] hw/pci-bridge: Add missing unref in case register-bus fails |
Date: |
Fri, 8 Apr 2016 11:02:56 +0300 |
From: Wei Jiangang <address@hidden>
The error paths after a successful qdev_create/pci_bus_new
should contain a object_unref/object_unparent.
pxb_dev_init_common() did not yet, so add it.
Signed-off-by: Wei Jiangang <address@hidden>
Signed-off-by: Cao jin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Marcel Apfelbaum <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
---
hw/pci-bridge/pci_expander_bridge.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/hw/pci-bridge/pci_expander_bridge.c
b/hw/pci-bridge/pci_expander_bridge.c
index 5e7e546..ba320bd 100644
--- a/hw/pci-bridge/pci_expander_bridge.c
+++ b/hw/pci-bridge/pci_expander_bridge.c
@@ -249,7 +249,7 @@ static int pxb_dev_init_common(PCIDevice *dev, bool pcie)
PCI_HOST_BRIDGE(ds)->bus = bus;
if (pxb_register_bus(dev, bus)) {
- return -EINVAL;
+ goto err_register_bus;
}
qdev_init_nofail(ds);
@@ -263,6 +263,12 @@ static int pxb_dev_init_common(PCIDevice *dev, bool pcie)
pxb_dev_list = g_list_insert_sorted(pxb_dev_list, pxb, pxb_compare);
return 0;
+
+err_register_bus:
+ object_unref(OBJECT(bds));
+ object_unparent(OBJECT(bus));
+ object_unref(OBJECT(ds));
+ return -EINVAL;
}
static int pxb_dev_initfn(PCIDevice *dev)
--
MST
- [Qemu-devel] [PULL 04/15] Sort the fw_cfg file list, (continued)
- [Qemu-devel] [PULL 04/15] Sort the fw_cfg file list, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 03/15] xen: piix reuse pci generic class init function, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 05/15] Migration: Add i82801b11 migration data, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 06/15] virtio-balloon: reset the statistic timer to load device, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 07/15] tests/bios-tables-test: fix assert, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 08/15] virtio: make virtio_queue_notify_vq static, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 09/15] virtio-blk: fix disabled mode, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 10/15] virtio-scsi: fix disabled mode, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 11/15] virtio: add aio handler, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 13/15] virtio-scsi: use aio handler for data plane, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 15/15] hw/pci-bridge: Add missing unref in case register-bus fails,
Michael S. Tsirkin <=
- [Qemu-devel] [PULL 12/15] virtio-blk: use aio handler for data plane, Michael S. Tsirkin, 2016/04/08
- [Qemu-devel] [PULL 14/15] virtio: merge virtio_queue_aio_set_host_notifier_handler with virtio_queue_set_aio, Michael S. Tsirkin, 2016/04/08
- Re: [Qemu-devel] [PULL 00/15] pci, virtio, acpi: fixes for 2.6, Peter Maydell, 2016/04/08