From: Michal Privoznik Date: Mon, 25 Oct 2021 13:14:51 +0000 (+0200) Subject: qemuProcessHandleMemoryDeviceSizeChange: Use qemuProcessEventSubmit() X-Git-Tag: v7.9.0-rc1~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=030e80042e8c8e486d23273b3308ba599ee92a87;p=thirdparty%2Flibvirt.git qemuProcessHandleMemoryDeviceSizeChange: Use qemuProcessEventSubmit() This is a typical example of what can go wrong when sending out an old patch. Back in January, when I was writing qemuProcessHandleMemoryDeviceSizeChange() events were sent to the worker pool thread using virThreadPoolSendJob(). Then, in July a helper was introduced (qemuProcessEventSubmit()) but since my code was not committed and I did not pay attention my code wasn't updated. Later, when I merged my code it uses the old approach. BTW: this also fixes a possible double free which I completely missed when writing the code ~10 months ago. Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 2a1fcad1ee..d5f8a47ac2 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1870,15 +1870,8 @@ qemuProcessHandleMemoryDeviceSizeChange(qemuMonitor *mon G_GNUC_UNUSED, processEvent->vm = virObjectRef(vm); processEvent->data = g_steal_pointer(&info); - if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) { - qemuProcessEventFree(processEvent); - virObjectUnref(vm); - goto cleanup; - } + qemuProcessEventSubmit(driver, &processEvent); - processEvent = NULL; - cleanup: - qemuProcessEventFree(processEvent); virObjectUnlock(vm); }