vhost: return task creation error instead of NULL
BugLink: https://bugs.launchpad.net/bugs/2109859 Lets callers distinguish why the vhost task creation failed. No one currently cares why it failed, so no real runtime change from this patch, but that will not be the case for long. Signed-off-by: Keith Busch<kbusch@kernel.org> Message-ID:<20250227230631.303431-2-kbusch@meta.com> Reviewed-by: Mike Christie<michael.christie@oracle.com> Signed-off-by: Paolo Bonzini<pbonzini@redhat.com> (cherry picked from commit cb380909ae3b1ebf14d6a455a4f92d7916d790cb) Signed-off-by: Magali Lemes<magali.lemes@canonical.com> Acked-by: Jacob Martin <jacob.martin@canonical.com> Acked-by: Vinicius Peixoto <vinicius.peixoto@canonical.com> Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
This commit is contained in:
committed by
Stefan Bader
parent
c966e987c0
commit
7aea41c8f4
@@ -7299,7 +7299,7 @@ static void kvm_mmu_start_lpage_recovery(struct once *once)
|
||||
kvm_nx_huge_page_recovery_worker_kill,
|
||||
kvm, "kvm-nx-lpage-recovery");
|
||||
|
||||
if (!nx_thread)
|
||||
if (IS_ERR(nx_thread))
|
||||
return;
|
||||
|
||||
vhost_task_start(nx_thread);
|
||||
|
||||
@@ -678,7 +678,7 @@ static struct vhost_worker *vhost_worker_create(struct vhost_dev *dev)
|
||||
|
||||
vtsk = vhost_task_create(vhost_run_work_list, vhost_worker_killed,
|
||||
worker, name);
|
||||
if (!vtsk)
|
||||
if (IS_ERR(vtsk))
|
||||
goto free_worker;
|
||||
|
||||
mutex_init(&worker->mutex);
|
||||
|
||||
+2
-2
@@ -133,7 +133,7 @@ struct vhost_task *vhost_task_create(bool (*fn)(void *),
|
||||
|
||||
vtsk = kzalloc(sizeof(*vtsk), GFP_KERNEL);
|
||||
if (!vtsk)
|
||||
return NULL;
|
||||
return ERR_PTR(-ENOMEM);
|
||||
init_completion(&vtsk->exited);
|
||||
mutex_init(&vtsk->exit_mutex);
|
||||
vtsk->data = arg;
|
||||
@@ -145,7 +145,7 @@ struct vhost_task *vhost_task_create(bool (*fn)(void *),
|
||||
tsk = copy_process(NULL, 0, NUMA_NO_NODE, &args);
|
||||
if (IS_ERR(tsk)) {
|
||||
kfree(vtsk);
|
||||
return NULL;
|
||||
return ERR_PTR(PTR_ERR(tsk));
|
||||
}
|
||||
|
||||
vtsk->task = tsk;
|
||||
|
||||
Reference in New Issue
Block a user