From: Mike Christie Date: Sat, 1 Nov 2025 19:43:58 +0000 (-0500) Subject: vhost: Fix kthread worker cgroup failure handling X-Git-Tag: v6.19-rc1~129^2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f3f64c2eaffbc3169bbe1e5d1e897e6dacc839d1;p=thirdparty%2Fkernel%2Flinux.git vhost: Fix kthread worker cgroup failure handling If we fail to attach to a cgroup we are leaking the id. This adds a new goto to free the id. Fixes: 7d9896e9f6d0 ("vhost: Reintroduce kthread API and add mode selection") Signed-off-by: Mike Christie Acked-by: Jason Wang Reviewed-by: Chaitanya Kulkarni Signed-off-by: Michael S. Tsirkin Message-Id: <20251101194358.13605-1-michael.christie@oracle.com> --- diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 8570fdf2e14ab..e6df5bb4932ba 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -804,11 +804,13 @@ static int vhost_kthread_worker_create(struct vhost_worker *worker, ret = vhost_attach_task_to_cgroups(worker); if (ret) - goto stop_worker; + goto free_id; worker->id = id; return 0; +free_id: + xa_erase(&dev->worker_xa, id); stop_worker: vhost_kthread_do_stop(worker); return ret;