[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 02/17] virtio-net: add missing object_unref()
From: |
Michael S. Tsirkin |
Subject: |
[PULL 02/17] virtio-net: add missing object_unref() |
Date: |
Tue, 23 Feb 2021 11:03:44 -0500 |
From: Laurent Vivier <lvivier@redhat.com>
failover_add_primary() calls qdev_device_add() and doesn't unref
the device. Because of that, when the device is unplugged a reference
is remaining and prevents the cleanup of the object.
This prevents to be able to plugin back the failover primary device,
with errors like:
(qemu) device_add
vfio-pci,host=0000:41:00.0,id=hostdev0,bus=root.3,failover_pair_id=net0
(qemu) device_del hostdev0
We can check with "info qtree" and "info pci" that the device has been removed,
and then:
(qemu) device_add
vfio-pci,host=0000:41:00.0,id=hostdev1,bus=root.3,failover_pair_id=net0
Error: vfio 0000:41:00.0: device is already attached
(qemu) device_add
vfio-pci,host=0000:41:00.0,id=hostdev0,bus=root.3,failover_pair_id=net0
qemu-kvm: Duplicate ID 'hostdev0' for device
Fixes: 21e8709b29cd ("failover: Remove primary_dev member")
Cc: quintela@redhat.com
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Message-Id: <20210212135250.2738750-3-lvivier@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Jens Freimann <jfreimann@redhat.com>
---
hw/net/virtio-net.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 5150f295e8..1c5af08dc5 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -862,6 +862,8 @@ static void failover_add_primary(VirtIONet *n, Error **errp)
dev = qdev_device_add(opts, &err);
if (err) {
qemu_opts_del(opts);
+ } else {
+ object_unref(OBJECT(dev));
}
} else {
error_setg(errp, "Primary device not found");
--
MST
- [PULL 00/17] pc,virtio,pci: fixes, tests, Michael S. Tsirkin, 2021/02/23
- [PULL 17/17] qtest/acpi/bios-tables-test: update acpi tables, Michael S. Tsirkin, 2021/02/23
- [PULL 10/17] ich9, piix4: add property, smm-compat, to keep compatibility of SMM, Michael S. Tsirkin, 2021/02/23
- [PULL 03/17] failover: really display a warning when the primary device is not found, Michael S. Tsirkin, 2021/02/23
- [PULL 05/17] acpi: Allow pxb DSDT acpi table changes, Michael S. Tsirkin, 2021/02/23
- [PULL 06/17] acpi/gpex: Fix cca attribute check for pxb device, Michael S. Tsirkin, 2021/02/23
- [PULL 07/17] tests/data/acpi/virt/DSDT.pxb: update with _CCA, Michael S. Tsirkin, 2021/02/23
- [PULL 13/17] acpi: add test case for smm unsupported -machine smm=off, Michael S. Tsirkin, 2021/02/23
- [PULL 02/17] virtio-net: add missing object_unref(),
Michael S. Tsirkin <=
- [PULL 09/17] qtest: update tests/qtest/bios-tables-test-allowed-diff.h, Michael S. Tsirkin, 2021/02/23
- [PULL 01/17] pci: cleanup failover sanity check, Michael S. Tsirkin, 2021/02/23
- [PULL 11/17] acpi/core: always set SCI_EN when SMM isn't supported, Michael S. Tsirkin, 2021/02/23
- [PULL 15/17] i386: acpi: Don't build HPET ACPI entry if HPET is disabled, Michael S. Tsirkin, 2021/02/23
- [PULL 04/17] pcie: don't set link state active if the slot is empty, Michael S. Tsirkin, 2021/02/23
- [PULL 16/17] acpi: add test case for -no-hpet, Michael S. Tsirkin, 2021/02/23
- [PULL 12/17] acpi: set fadt.smi_cmd to zero when SMM is not supported, Michael S. Tsirkin, 2021/02/23
- [PULL 14/17] hw/i386: declare ACPI mother board resource for MMCONFIG region, Michael S. Tsirkin, 2021/02/23
- [PULL 08/17] checkpatch: don't emit warning on newly created acpi data files, Michael S. Tsirkin, 2021/02/23
- Re: [PULL 00/17] pc,virtio,pci: fixes, tests, Peter Maydell, 2021/02/25