[Virtio-fs] [PATCH] Virtiofsd: fix segfault when quit before dev init
piaojun
piaojun at huawei.com
Sun Aug 4 03:15:41 UTC 2019
Hi liubo and Eric,
This patch looks good to me, and could you help fixing a null pointer
dereference about se->virtio_dev in virtio_session_mount() together?
virtio_session_mount()
- se->virtio_dev = calloc(sizeof(struct fv_VuDev), 1);
- Add a null check after calloc().
Thanks,
Jun
On 2019/8/3 13:28, Liu Bo wrote:
> From: Eric Ren <renzhen at linux.alibaba.com>
>
> The daemon may bail out early on errors(e.g. in fuse_session_mount), where
> it ends up a segfault error.
>
> Signed-off-by: Eric Ren <renzhen at linux.alibaba.com>
> ---
> contrib/virtiofsd/fuse_virtio.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/contrib/virtiofsd/fuse_virtio.c b/contrib/virtiofsd/fuse_virtio.c
> index aa94b66..6292e87 100644
> --- a/contrib/virtiofsd/fuse_virtio.c
> +++ b/contrib/virtiofsd/fuse_virtio.c
> @@ -891,6 +891,10 @@ int virtio_session_mount(struct fuse_session *se)
> void virtio_session_close(struct fuse_session *se)
> {
> close(se->vu_socketfd);
> +
> + if (!se->virtio_dev)
> + return;
> +
> free(se->virtio_dev->qi);
> free(se->virtio_dev);
> se->virtio_dev = NULL;
>
More information about the Virtio-fs
mailing list