qemu-e2k/hw/core
Paolo Bonzini abed886ec6 qdev: Free QemuOpts when the QOM path goes away
Otherwise there is a race where the DEVICE_DELETED event has been sent but
attempts to reuse the ID will fail.

Note that similar races exist for other QemuOpts, which this patch
does not attempt to fix.

For example, if the device is a block device, then unplugging it also
deletes its backend.  However, this backend's get deleted in
drive_info_del(), which is only called when properties are
destroyed.  Just like device_finalize(), drive_info_del() is called
some time after DEVICE_DELETED is sent.  A separate patch series has
been sent to plug this other bug.  Character devices also have yet to
be fixed.

Reported-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
2016-01-18 17:47:58 +01:00
..
empty_slot.c
fw-path-provider.c
hotplug.c
irq.c
loader.c pc: Move option_rom_has_mr/rom_file_has_mr globals to MachineClass 2015-12-22 17:45:12 +02:00
machine.c pc: Move option_rom_has_mr/rom_file_has_mr globals to MachineClass 2015-12-22 17:45:12 +02:00
Makefile.objs
nmi.c error: Consistently name Error * objects err, and not errp 2016-01-13 15:16:19 +01:00
null-machine.c
platform-bus.c sysbus: Don't use hw_error() in machine_init_done_notifiers 2016-01-13 11:58:58 +01:00
ptimer.c
qdev-properties-system.c hw: Inline the qdev_prop_set_drive_nofail() wrapper 2016-01-13 11:58:58 +01:00
qdev-properties.c error: Use error_reportf_err() where it makes obvious sense 2016-01-13 15:16:17 +01:00
qdev.c qdev: Free QemuOpts when the QOM path goes away 2016-01-18 17:47:58 +01:00
stream.c
sysbus.c
uboot_image.h