[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] device_add error handling regressed in v1.5.0
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] device_add error handling regressed in v1.5.0 |
Date: |
Fri, 17 Jan 2014 11:23:21 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) |
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 <address@hidden>
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 <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
- [Qemu-devel] device_add error handling regressed in v1.5.0,
Markus Armbruster <=