31 lines
1.2 KiB
Diff
31 lines
1.2 KiB
Diff
From bd6633c0e527dbcf6b52d3b34b49a980b125c866 Mon Sep 17 00:00:00 2001
|
|
From: Xiangsheng Hou <xiangsheng.hou@mediatek.com>
|
|
Date: Mon, 7 Apr 2025 19:50:49 +0800
|
|
Subject: virtiofs: add filesystem context source name check
|
|
|
|
In certain scenarios, for example, during fuzz testing, the source
|
|
name may be NULL, which could lead to a kernel panic. Therefore, an
|
|
extra check for the source name should be added.
|
|
|
|
Fixes: a62a8ef9d97d ("virtio-fs: add virtiofs filesystem")
|
|
Cc: <stable@vger.kernel.org> # all LTS kernels
|
|
Signed-off-by: Xiangsheng Hou <xiangsheng.hou@mediatek.com>
|
|
Link: https://lore.kernel.org/20250407115111.25535-1-xiangsheng.hou@mediatek.com
|
|
Signed-off-by: Christian Brauner <brauner@kernel.org>
|
|
---
|
|
fs/fuse/virtio_fs.c | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
--- a/fs/fuse/virtio_fs.c
|
|
+++ b/fs/fuse/virtio_fs.c
|
|
@@ -1670,6 +1670,9 @@ static int virtio_fs_get_tree(struct fs_
|
|
unsigned int virtqueue_size;
|
|
int err = -EIO;
|
|
|
|
+ if (!fsc->source)
|
|
+ return invalf(fsc, "No source specified");
|
|
+
|
|
/* This gets a reference on virtio_fs object. This ptr gets installed
|
|
* in fc->iq->priv. Once fuse_conn is going away, it calls ->put()
|
|
* to drop the reference to this object.
|