reiserfs: Fix spurious unlock in reiserfs_fill_super() error handling
authorJan Kara <jack@suse.cz>
Thu, 12 Dec 2019 10:35:58 +0000 (11:35 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Feb 2020 14:42:24 +0000 (15:42 +0100)
[ Upstream commit 4d5c1adaf893b8aa52525d2b81995e949bcb3239 ]

When we fail to allocate string for journal device name we jump to
'error' label which tries to unlock reiserfs write lock which is not
held. Jump to 'error_unlocked' instead.

Fixes: f32485be8397 ("reiserfs: delay reiserfs lock until journal initialization")
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/reiserfs/super.c

index bfed2a7000154644c7ca34ae616ec1d4cf6dd6d9..677608a89b08d381ce8995ff209a015b0dd27c3a 100644 (file)
@@ -1928,7 +1928,7 @@ static int reiserfs_fill_super(struct super_block *s, void *data, int silent)
                if (!sbi->s_jdev) {
                        SWARN(silent, s, "", "Cannot allocate memory for "
                                "journal device name");
-                       goto error;
+                       goto error_unlocked;
                }
        }
 #ifdef CONFIG_QUOTA