From ddce75fac0b80ab93b330f55bb4484fea2c21c38 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 26 Mar 2020 13:22:18 +0100 Subject: [PATCH] qemuBlockJobUpdate: Remove return value No callers use it any more. Additionally if qemuBlockJobUpdate was called with the last reference of the job e.g. in qemuBlockJobRefreshJobs, the reading of the job state would happen from freed memory. Reported-by: Pavel Mores Signed-off-by: Peter Krempa Reviewed-by: Pavel Mores Reviewed-by: Michal Privoznik --- src/qemu/qemu_blockjob.c | 8 ++------ src/qemu/qemu_blockjob.h | 7 ++++--- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c index 21a043d369..6576f8721f 100644 --- a/src/qemu/qemu_blockjob.c +++ b/src/qemu/qemu_blockjob.c @@ -1658,10 +1658,8 @@ qemuBlockJobEventProcess(virQEMUDriverPtr driver, * * Update disk's mirror state in response to a block job event stored in * blockJobStatus by qemuProcessHandleBlockJob event handler. - * - * Returns the block job event processed or -1 if there was no pending event. */ -int +void qemuBlockJobUpdate(virDomainObjPtr vm, qemuBlockJobDataPtr job, int asyncJob) @@ -1669,14 +1667,12 @@ qemuBlockJobUpdate(virDomainObjPtr vm, qemuDomainObjPrivatePtr priv = vm->privateData; if (job->newstate == -1) - return -1; + return; if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) qemuBlockJobEventProcess(priv->driver, vm, job, asyncJob); else qemuBlockJobEventProcessLegacy(priv->driver, vm, job, asyncJob); - - return job->state; } diff --git a/src/qemu/qemu_blockjob.h b/src/qemu/qemu_blockjob.h index 9264c70217..19498b5bd8 100644 --- a/src/qemu/qemu_blockjob.h +++ b/src/qemu/qemu_blockjob.h @@ -232,9 +232,10 @@ int qemuBlockJobRefreshJobs(virQEMUDriverPtr driver, virDomainObjPtr vm); -int qemuBlockJobUpdate(virDomainObjPtr vm, - qemuBlockJobDataPtr job, - int asyncJob); +void +qemuBlockJobUpdate(virDomainObjPtr vm, + qemuBlockJobDataPtr job, + int asyncJob); void qemuBlockJobSyncBegin(qemuBlockJobDataPtr job); void qemuBlockJobSyncEnd(virDomainObjPtr vm, -- 2.47.2