On 02.11.2017 11:10, Thomas Huth wrote: > First patch is a small clean up to the error handling code in > qdev_device_add(), and the second patch adds a proper check for > the availability of a hotplug controller to prevent the possibility > of a crash with device_del. > > The crash can currently be triggered for example like this: > > $ s390x-softmmu/qemu-system-s390x -M none -nographic > QEMU 2.10.50 monitor - type 'help' for more information > (qemu) device_add qemu-s390x-cpu,id=x > (qemu) device_del x > ** > ERROR:qemu/qdev-monitor.c:872:qdev_unplug: assertion failed: (hotplug_ctrl) > Aborted (core dumped) > > v3: > - Invert the logic of the second error check in the first patch > as suggested by Igor > - Updated the patch description of the second patch with the current > way to crash QEMU > > v2: > - Do the check for the availability of the hotplug controller earlier > in qdev_device_add > - Use common new err_dev_del handler in case of failure > > Thomas Huth (2): > qdev_monitor: Simplify error handling in qdev_device_add() > qdev: Check for the availability of a hotplug controller before adding > a device > > hw/core/qdev.c | 28 ++++++++++++++++++++-------- > include/hw/qdev-core.h | 1 + > qdev-monitor.c | 21 +++++++++++++-------- > 3 files changed, 34 insertions(+), 16 deletions(-)
Ping! Paolo or Eduardo, could one of you please pick up the two patches? Thanks, Thomas