Watch this: $ upstream-qemu -nodefaults -S -display none -monitor stdio QEMU 1.7.50 monitor - type 'help' for more information (qemu) device_add e1000,netdev=xxx Property 'e1000.netdev' can't find value 'xxx' (qemu) info qtree bus: main-system-bus type System dev: hpet, id "" gpio-in 2 gpio-out 1 timers = 3 msi = off hpet-intcap = 4 irq 32 mmio 00000000fed00000/0000000000000400 dev: ioapic, id "" gpio-in 24 irq 0 mmio 00000000fec00000/0000000000001000 dev: i440FX-pcihost, id "" pci-hole64-size = 16777216.000T short_root_bus = 0 irq 0 bus: pci.0 type PCI dev: e1000, id "" mac = 00:00:00:00:00:00 vlan = <null> netdev = <null> bootindex = -1 autonegotiation = on mitigation = on addr = <unset> romfile = <null> rombar = 1 multifunction = off command_serr_enable = on Segmentation fault (core dumped)
Even though device_add failed, it still created a node in the qtree! Same issue observed with scsi-hd. Looks like a qdev problem, not a device problem. git-bisect blames this one: e0a83fc2c1582dc8d4453849852ebe6c258b7c3a is the first bad commit commit e0a83fc2c1582dc8d4453849852ebe6c258b7c3a Author: Paolo Bonzini <pbonz...@redhat.com> Date: Tue Apr 2 15:50:00 2013 +0200 qom: do nothing on unparent of object without parent Otherwise, device_unparent will fail to get a canonical path of the object. Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Message-id: 1364910600-3418-1-git-send-email-pbonz...@redhat.com Signed-off-by: Anthony Liguori <aligu...@us.ibm.com>