]> git.proxmox.com Git - mirror_qemu.git/commit - hw/ppc/spapr_pci.c
spapr_pci: fail gracefully with non-pseries machine types
authorGreg Kurz <groug@kaod.org>
Thu, 12 Oct 2017 16:30:14 +0000 (18:30 +0200)
committerDavid Gibson <david@gibson.dropbear.id.au>
Mon, 16 Oct 2017 23:34:01 +0000 (10:34 +1100)
commitf7d6bfcdc0fe49040aac3ac131a319cb5427957e
tree158661a268c3fa4d42bf2d2f8f01f962d1d2cffa
parentdb50f280cf5f714e64ff2b134aae138908f07502
spapr_pci: fail gracefully with non-pseries machine types

QEMU currently crashes when the user tries to add an spapr-pci-host-bridge
on a non-pseries machine:

$ qemu-system-ppc64 -M ppce500 -device spapr-pci-host-bridge,index=1
hw/ppc/spapr_pci.c:1535:spapr_phb_realize:
Object 0x1003dacae60 is not an instance of type spapr-machine
Aborted (core dumped)

The same thing happens with the deprecated but still available child type
spapr-pci-vfio-host-bridge.

Fix both by checking the machine type with object_dynamic_cast().

Reviewed-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
Signed-off-by: Greg Kurz <groug@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ppc/spapr_pci.c