On Mon, Dec 18, 2017 at 12:59:50PM +0100, Thomas Huth wrote:
> 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?
Very sorry for the long delay. I just queued it on machine-next.
Thanks!
--
Eduardo