[PATCH linux-next v2] ufs: sb mutex merge + mutex_destroy: fix

From: Fabian Frederick
Date: Thu Mar 27 2014 - 18:37:02 EST


mutex_destroy was also called when trying to mount volume in read/write
without write support enabled.

Reported by Fengguang Wu.

Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx>
---
v2: failed_noreadwrite is only used with CONFIG_UFS_FS_WRITE
-> add ifndef

fs/ufs/super.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/fs/ufs/super.c b/fs/ufs/super.c
index d05cf89..432baa1 100644
--- a/fs/ufs/super.c
+++ b/fs/ufs/super.c
@@ -798,7 +798,7 @@ static int ufs_fill_super(struct super_block *sb, void *data, int silent)
if (!(sb->s_flags & MS_RDONLY)) {
printk("ufs was compiled with read-only support, "
"can't be mounted as read-write\n");
- goto failed;
+ goto failed_noreadwrite;
}
#endif
mutex_init(&sbi->mutex);
@@ -1255,10 +1255,14 @@ magic_found:
return 0;

failed:
+ mutex_destroy(&sbi->mutex);
+
+#ifndef CONFIG_UFS_FS_WRITE
+failed_noreadwrite:
+#endif
if (ubh)
ubh_brelse_uspi (uspi);
kfree (uspi);
- mutex_destroy(&sbi->mutex);
kfree(sbi);
sb->s_fs_info = NULL;
UFSD("EXIT (FAILED)\n");
--
1.8.4.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/