2022-06-29 02:22:08

by Rao, Lei

[permalink] [raw]
Subject: [PATCH] vfio: Fix memory leaks in vfio_create_group()

If an error occurs after vfio_group_alloc(), we need to release the
group.

Signed-off-by: Lei Rao <[email protected]>
---
drivers/vfio/vfio.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c
index 61e71c1154be..2460aec44a6d 100644
--- a/drivers/vfio/vfio.c
+++ b/drivers/vfio/vfio.c
@@ -414,6 +414,7 @@ static struct vfio_group *vfio_create_group(struct iommu_group *iommu_group,
mutex_unlock(&vfio.group_lock);
err_put:
put_device(&group->dev);
+ vfio_group_release(&group->dev);
return ret;
}

--
2.32.0


2022-06-29 02:24:14

by Tian, Kevin

[permalink] [raw]
Subject: RE: [PATCH] vfio: Fix memory leaks in vfio_create_group()

> From: Rao, Lei <[email protected]>
> Sent: Wednesday, June 29, 2022 10:05 AM
>
> If an error occurs after vfio_group_alloc(), we need to release the
> group.
>
> Signed-off-by: Lei Rao <[email protected]>
> ---
> drivers/vfio/vfio.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c
> index 61e71c1154be..2460aec44a6d 100644
> --- a/drivers/vfio/vfio.c
> +++ b/drivers/vfio/vfio.c
> @@ -414,6 +414,7 @@ static struct vfio_group *vfio_create_group(struct
> iommu_group *iommu_group,
> mutex_unlock(&vfio.group_lock);
> err_put:
> put_device(&group->dev);
> + vfio_group_release(&group->dev);

this is called automatically by put_device().

> return ret;
> }
>
> --
> 2.32.0