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:
Keith Busch
2025-05-03 00:46:00 +02:00
committed by Stefan Bader
parent c966e987c0
commit 7aea41c8f4
3 changed files with 4 additions and 4 deletions
+1 -1
View File
@@ -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);
+1 -1
View File
@@ -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
View File
@@ -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;