[Virtio-fs] [PATCH] Virtiofsd: fix memory leak on fuse queueinfo

Dr. David Alan Gilbert dgilbert at redhat.com
Tue Jun 25 18:42:43 UTC 2019


* Liu Bo (bo.liu at linux.alibaba.com) wrote:
> For fuse's queueinfo, both queueinfo array and queueinfos are allocated in
> fv_queue_set_started() but not cleaned up when the daemon process quits.
> 
> This fixes the leak in proper places.
> 
> Signed-off-by: Liu Bo <bo.liu at linux.alibaba.com>

Reviewed-by: Dr. David Alan Gilbert <dgilbert at redhat.com>

> ---
>  contrib/virtiofsd/fuse_virtio.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/contrib/virtiofsd/fuse_virtio.c b/contrib/virtiofsd/fuse_virtio.c
> index bec4105..aa94b66 100644
> --- a/contrib/virtiofsd/fuse_virtio.c
> +++ b/contrib/virtiofsd/fuse_virtio.c
> @@ -763,6 +763,8 @@ static void fv_queue_set_started(VuDev *dev, int qidx, bool started)
>                  }
>                  close(ourqi->kill_fd);
>                  ourqi->kick_fd = -1;
> +                free(vud->qi[qidx]);
> +                vud->qi[qidx] = NULL;
>          }
>  }
>  
> @@ -889,6 +891,7 @@ int virtio_session_mount(struct fuse_session *se)
>  void virtio_session_close(struct fuse_session *se)
>  {
>          close(se->vu_socketfd);
> +        free(se->virtio_dev->qi);
>          free(se->virtio_dev);
>          se->virtio_dev = NULL;
>  }
> -- 
> 1.8.3.1
> 
--
Dr. David Alan Gilbert / dgilbert at redhat.com / Manchester, UK




More information about the Virtio-fs mailing list