qemu-devel
[Top][All Lists]
Advanced

[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>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]