Skip to content

Commit

Permalink
udf: One function call less in udf_fill_super() after error detection
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Markus Elfring authored and Jan Kara committed Nov 19, 2014
1 parent 0d454e4 commit fdf2657
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions fs/udf/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit fdf2657

Please sign in to comment.