udf: One function call less in udf_fill_super() after error detection
authorMarkus Elfring <elfring@users.sourceforge.net>
Tue, 18 Nov 2014 17:29:10 +0000 (18:29 +0100)
committerJan Kara <jack@suse.cz>
Wed, 19 Nov 2014 20:56:06 +0000 (21:56 +0100)
The iput() function was called in up to three cases by the udf_fill_super()
function during error handling even if the passed data structure element
contained still a null pointer. This implementation detail could be improved
by the introduction of another jump label.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/udf/super.c

index f93c65d6c7d9322e47da2b6fd2df805692d4b83f..3ccb2f11fc767bb4948ec526fa50107468511ded 100644 (file)
@@ -2082,12 +2082,12 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
        mutex_init(&sbi->s_alloc_mutex);
 
        if (!udf_parse_options((char *)options, &uopt, false))
-               goto error_out;
+               goto parse_options_failure;
 
        if (uopt.flags & (1 << UDF_FLAG_UTF8) &&
            uopt.flags & (1 << UDF_FLAG_NLS_MAP)) {
                udf_err(sb, "utf8 cannot be combined with iocharset\n");
-               goto error_out;
+               goto parse_options_failure;
        }
 #ifdef CONFIG_UDF_NLS
        if ((uopt.flags & (1 << UDF_FLAG_NLS_MAP)) && !uopt.nls_map) {
@@ -2238,6 +2238,7 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
 
 error_out:
        iput(sbi->s_vat_inode);
+parse_options_failure:
 #ifdef CONFIG_UDF_NLS
        if (UDF_QUERY_FLAG(sb, UDF_FLAG_NLS_MAP))
                unload_nls(sbi->s_nls_map);