]> Gentwo Git Trees - linux/.git/commitdiff
vhost: Fix kthread worker cgroup failure handling
authorMike Christie <michael.christie@oracle.com>
Sat, 1 Nov 2025 19:43:58 +0000 (14:43 -0500)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 27 Nov 2025 07:03:06 +0000 (02:03 -0500)
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 <michael.christie@oracle.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20251101194358.13605-1-michael.christie@oracle.com>

drivers/vhost/vhost.c

index 8570fdf2e14ab57806599847b0feff2a2c1c4201..e6df5bb4932bae98460824475b11841fc873bc22 100644 (file)
@@ -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;