2023-07-26 20:44:12

by Dragos Tatulea

[permalink] [raw]
Subject: [PATCH] virtio-vdpa: Fix cpumask memory leak in virtio_vdpa_find_vqs()

From: Gal Pressman <[email protected]>

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 <[email protected]>
Reviewed-by: Dragos Tatulea <[email protected]>
---
drivers/virtio/virtio_vdpa.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/virtio/virtio_vdpa.c b/drivers/virtio/virtio_vdpa.c
index 989e2d7184ce..961161da5900 100644
--- a/drivers/virtio/virtio_vdpa.c
+++ b/drivers/virtio/virtio_vdpa.c
@@ -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;
}

--
2.41.0



2023-07-27 07:46:19

by Jason Wang

[permalink] [raw]
Subject: Re: [PATCH] virtio-vdpa: Fix cpumask memory leak in virtio_vdpa_find_vqs()

On Thu, Jul 27, 2023 at 3:11 AM Dragos Tatulea <[email protected]> wrote:
>
> From: Gal Pressman <[email protected]>
>
> 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 <[email protected]>
> Reviewed-by: Dragos Tatulea <[email protected]>

Acked-by: Jason Wang <[email protected]>

Thanks

> ---
> drivers/virtio/virtio_vdpa.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/virtio/virtio_vdpa.c b/drivers/virtio/virtio_vdpa.c
> index 989e2d7184ce..961161da5900 100644
> --- a/drivers/virtio/virtio_vdpa.c
> +++ b/drivers/virtio/virtio_vdpa.c
> @@ -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;
> }
>
> --
> 2.41.0
>


2023-07-31 02:39:23

by Yongji Xie

[permalink] [raw]
Subject: Re: [PATCH] virtio-vdpa: Fix cpumask memory leak in virtio_vdpa_find_vqs()

On Thu, Jul 27, 2023 at 3:11 AM Dragos Tatulea <[email protected]> wrote:
>
> From: Gal Pressman <[email protected]>
>
> 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 <[email protected]>
> Reviewed-by: Dragos Tatulea <[email protected]>

Reviewed-by: Xie Yongji <[email protected]>

Thanks,
Yongji