The daemon crashes due to unexpected cleanup happening due to bad
assumptions about locking and state. See patch 5.

Peter Krempa (12):
  qemuBlockJobProcessEventConcludedBackup: Handle potentially NULL
    'job->disk'
  qemuDomainDiskPrivateDispose: Prevent dangling 'disk' pointer in
    blockjob data
  qemuDomainDeviceBackendChardevForeach: Fix typo in comment
  qemuDomainObjWait: Add documentation
  qemuProcessStop: Prevent crash when qemuDomainObjStopWorker() unlocks
    the VM
  qemuProcessStop: Move code not depending on 'vm->def->id' after reset
    of the ID
  qemu: process: Ensure that 'beingDestroyed' gets cleared only after VM
    id is reset
  qemu: domain: Introduce qemuDomainObjIsActive helper
  qemu: migration: Properly check for live VM after qemuDomainObjWait()
  qemu: migration: Inline 'qemuMigrationDstFinishResume()'
  qemuMigrationSrcRun: Re-check whether VM is active before accessing
    job data
  qemu: migration: Preserve error across qemuDomainSetMaxMemLock() on
    error paths

 src/qemu/qemu_backup.c    |   6 +--
 src/qemu/qemu_backup.h    |   2 +-
 src/qemu/qemu_blockjob.c  |   9 +++-
 src/qemu/qemu_domain.c    |  40 +++++++++++++-
 src/qemu/qemu_domain.h    |   2 +
 src/qemu/qemu_migration.c |  43 +++++++---------
 src/qemu/qemu_process.c   | 106 ++++++++++++++++++++++----------------
 7 files changed, 131 insertions(+), 77 deletions(-)

-- 
2.45.2

Reply via email to