[PATCH 49/52] fuse: don't crash if version table is NULL

Vivek Goyal
2018-12-10T17:13:15Z

From: Miklos Szeredi <mszeredi@redhat.com>

Version table can be NULL. Do not crash.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
---
fs/fuse/inode.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index 1ab4df442390..d44827bbfa3d 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -1219,7 +1219,8 @@ int fuse_fill_super_common(struct super_block *sb,
fc->version_table_size = mount_data->vertab_len / sizeof(s64);
fc->version_table = mount_data->vertab_kaddr;

- if (fc->version_table[0] != VERSION_TABLE_MAGIC) {
+ if (fc->version_table && fc->version_table_size > 0 &&
+ fc->version_table[0] != VERSION_TABLE_MAGIC) {
pr_warn("bad version table magic: 0x%16llx\n",
fc->version_table[0]);
fc->version_table_size = 0;
--
2.13.6