[PATCH] fuse: Avoid potential use after free

From: Aditya Pakki
Date: Tue Apr 06 2021 - 19:53:41 EST


In virtio_fs_get_tree, after fm is freed, it is again freed in case
s_root is NULL and virtio_fs_fill_super() returns an error. To avoid
a double free, set fm to NULL.

Signed-off-by: Aditya Pakki <pakki001@xxxxxxx>
---
fs/fuse/virtio_fs.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/fuse/virtio_fs.c b/fs/fuse/virtio_fs.c
index 4ee6f734ba83..a7484c1539bf 100644
--- a/fs/fuse/virtio_fs.c
+++ b/fs/fuse/virtio_fs.c
@@ -1447,6 +1447,7 @@ static int virtio_fs_get_tree(struct fs_context *fsc)
if (fsc->s_fs_info) {
fuse_conn_put(fc);
kfree(fm);
+ fm = NULL;
}
if (IS_ERR(sb))
return PTR_ERR(sb);
--
2.25.1