xen: use qdev_unplug() instead of g_free() in xen_pv_find_xendev()
commite9dcbc86d614018923e26e31319b0a54c9e5abac
authorJuergen Gross <jgross@suse.com>
Wed, 1 Feb 2017 06:52:02 +0000 (1 07:52 +0100)
committerStefano Stabellini <sstabellini@kernel.org>
Thu, 2 Feb 2017 18:23:53 +0000 (2 10:23 -0800)
tree544976b0f20bfbce14433e3e09214fcc72889cb7
parent6d06220ad91985f59454c619dc238ebd8a968cd8
xen: use qdev_unplug() instead of g_free() in xen_pv_find_xendev()

The error exits of xen_pv_find_xendev() free the new xen-device via
g_free() which is wrong.

As the xen-device has been initialized as qdev it must be removed
via qdev_unplug().

This bug has been introduced with commit 3a6c9172ac5951e6dac2b3f6
("xen: create qdev for each backend device").

Reported-by: Roger Pau Monné <roger.pau@citrix.com>
Tested-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
hw/xen/xen_backend.c