exfat: avoid incorrectly releasing for root inode
authorChen Li <chenli@uniontech.com>
Wed, 9 Jun 2021 03:48:55 +0000 (11:48 +0800)
committerNamjae Jeon <namjae.jeon@samsung.com>
Mon, 28 Jun 2021 12:49:47 +0000 (21:49 +0900)
In d_make_root, when we fail to allocate dentry for root inode,
we will iput root inode and returned value is NULL in this function.

So we do not need to release this inode again at d_make_root's caller.

Signed-off-by: Chen Li <chenli@uniontech.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
fs/exfat/super.c

index d38d17a..5539ffc 100644 (file)
@@ -690,7 +690,7 @@ static int exfat_fill_super(struct super_block *sb, struct fs_context *fc)
        if (!sb->s_root) {
                exfat_err(sb, "failed to get the root dentry");
                err = -ENOMEM;
-               goto put_inode;
+               goto free_table;
        }
 
        return 0;