virtio-vdpa: Fix cpumask memory leak in virtio_vdpa_find_vqs()
authorGal Pressman <gal@nvidia.com>
Wed, 26 Jul 2023 19:10:07 +0000 (22:10 +0300)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 10 Aug 2023 19:24:28 +0000 (15:24 -0400)
Free the cpumask allocated by create_affinity_masks() before returning
from the function.

Fixes: 3dad56823b53 ("virtio-vdpa: Support interrupt affinity spreading mechanism")
Signed-off-by: Gal Pressman <gal@nvidia.com>
Reviewed-by: Dragos Tatulea <dtatulea@nvidia.com>
Message-Id: <20230726191036.14324-1-dtatulea@nvidia.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Xie Yongji <xieyongji@bytedance.com>
drivers/virtio/virtio_vdpa.c

index 989e2d7184ce463aeef8b4cd6df968f9d8839015..961161da59000d301deef6db6207e63a34df669a 100644 (file)
@@ -393,11 +393,13 @@ static int virtio_vdpa_find_vqs(struct virtio_device *vdev, unsigned int nvqs,
        cb.callback = virtio_vdpa_config_cb;
        cb.private = vd_dev;
        ops->set_config_cb(vdpa, &cb);
+       kfree(masks);
 
        return 0;
 
 err_setup_vq:
        virtio_vdpa_del_vqs(vdev);
+       kfree(masks);
        return err;
 }