• P
    qemu: Don't unref domain after exit from nested async job · 79bb49a8
    Peter Krempa 提交于
    In commit 540c339a the whole domain
    reference counting was refactored in the qemu driver. Domain jobs now
    don't need to reference the domain object as they now expect the
    reference from the calling function.
    
    However, the patch forgot to remove the unref call in case we exit the
    monitor when we were acquiring a nested job. This caused the daemon to
    crash on a subsequent access to the domain object once we've done an
    operation requiring a nested job for a monitor access.
    
    An easy reproducer case:
    
    1) Start a vm with qcow disks
    2) virsh snapshot-create-as DOMNAME
    3) virsh dumpxml DOMNAME
    4) daemon crashes in a semi-random spot while accessing a now-removed VM
    object.
    
    Fortunately, the commit wasn't released yet, so there are no security
    implications.
    Reported-by: NShanzi Yu <shyu@redhat.com>
    Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
    79bb49a8
qemu_domain.c 84.3 KB