Message ID | 20211228030924.3468439-1-xianting.tian@linux.alibaba.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | vhost/test: fix memory leak of vhost virtqueues | expand |
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; > }
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; > > } >
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; }
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(+)