Commit cb380909 authored by Keith Busch's avatar Keith Busch Committed by Paolo Bonzini
Browse files

vhost: return task creation error instead of NULL



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: default avatarKeith Busch <kbusch@kernel.org>
Message-ID: <20250227230631.303431-2-kbusch@meta.com>
Reviewed-by: default avatarMike Christie <michael.christie@oracle.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 982caaa1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -7471,7 +7471,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
Original line number Diff line number Diff line
@@ -666,7 +666,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
Original line number Diff line number Diff line
@@ -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;