[PATCH] vhost/test: fix memory leak of vhost virtqueues

Xianting Tian posted 1 patch 4 years, 6 months ago
drivers/vhost/test.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] vhost/test: fix memory leak of vhost virtqueues
Posted by Xianting Tian 4 years, 6 months ago
We need free the vqs in .release(), which are allocated in .open().

Signed-off-by: Xianting Tian <xianting.tian@linux.alibaba.com>
---
 drivers/vhost/test.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/vhost/test.c b/drivers/vhost/test.c
index a09dedc79..05740cba1 100644
--- a/drivers/vhost/test.c
+++ b/drivers/vhost/test.c
@@ -166,6 +166,7 @@ static int vhost_test_release(struct inode *inode, struct file *f)
 	/* We do an extra flush before freeing memory,
 	 * since jobs can re-queue themselves. */
 	vhost_test_flush(n);
+	kfree(n->dev.vqs);
 	kfree(n);
 	return 0;
 }
-- 
2.17.1

Re: [PATCH] vhost/test: fix memory leak of vhost virtqueues
Posted by Xianting Tian 4 years, 5 months ago
hi

Could I get your comments for this patch?  it fixed the memleak issue.

在 2021/12/28 上午11:09, Xianting Tian 写道:
> We need free the vqs in .release(), which are allocated in .open().
>
> Signed-off-by: Xianting Tian <xianting.tian@linux.alibaba.com>
> ---
>   drivers/vhost/test.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/drivers/vhost/test.c b/drivers/vhost/test.c
> index a09dedc79..05740cba1 100644
> --- a/drivers/vhost/test.c
> +++ b/drivers/vhost/test.c
> @@ -166,6 +166,7 @@ static int vhost_test_release(struct inode *inode, struct file *f)
>   	/* We do an extra flush before freeing memory,
>   	 * since jobs can re-queue themselves. */
>   	vhost_test_flush(n);
> +	kfree(n->dev.vqs);
>   	kfree(n);
>   	return 0;
>   }
Re: [PATCH] vhost/test: fix memory leak of vhost virtqueues
Posted by Jason Wang 4 years, 5 months ago
On Tue, Jan 4, 2022 at 1:59 PM Xianting Tian
<xianting.tian@linux.alibaba.com> wrote:
>
> hi
>
> Could I get your comments for this patch?  it fixed the memleak issue.
>
> 在 2021/12/28 上午11:09, Xianting Tian 写道:
> > We need free the vqs in .release(), which are allocated in .open().
> >
> > Signed-off-by: Xianting Tian <xianting.tian@linux.alibaba.com>

Acked-by: Jason Wang <jasowang@redhat.com>

> > ---
> >   drivers/vhost/test.c | 1 +
> >   1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/vhost/test.c b/drivers/vhost/test.c
> > index a09dedc79..05740cba1 100644
> > --- a/drivers/vhost/test.c
> > +++ b/drivers/vhost/test.c
> > @@ -166,6 +166,7 @@ static int vhost_test_release(struct inode *inode, struct file *f)
> >       /* We do an extra flush before freeing memory,
> >        * since jobs can re-queue themselves. */
> >       vhost_test_flush(n);
> > +     kfree(n->dev.vqs);
> >       kfree(n);
> >       return 0;
> >   }
>