udf: One function call less in udf_fill_super() after error detection
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>
This commit is contained in:
parent
0d454e4a44
commit
fdf2657bc8
|
@ -2082,12 +2082,12 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
|
||||||
mutex_init(&sbi->s_alloc_mutex);
|
mutex_init(&sbi->s_alloc_mutex);
|
||||||
|
|
||||||
if (!udf_parse_options((char *)options, &uopt, false))
|
if (!udf_parse_options((char *)options, &uopt, false))
|
||||||
goto error_out;
|
goto parse_options_failure;
|
||||||
|
|
||||||
if (uopt.flags & (1 << UDF_FLAG_UTF8) &&
|
if (uopt.flags & (1 << UDF_FLAG_UTF8) &&
|
||||||
uopt.flags & (1 << UDF_FLAG_NLS_MAP)) {
|
uopt.flags & (1 << UDF_FLAG_NLS_MAP)) {
|
||||||
udf_err(sb, "utf8 cannot be combined with iocharset\n");
|
udf_err(sb, "utf8 cannot be combined with iocharset\n");
|
||||||
goto error_out;
|
goto parse_options_failure;
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_UDF_NLS
|
#ifdef CONFIG_UDF_NLS
|
||||||
if ((uopt.flags & (1 << UDF_FLAG_NLS_MAP)) && !uopt.nls_map) {
|
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:
|
error_out:
|
||||||
iput(sbi->s_vat_inode);
|
iput(sbi->s_vat_inode);
|
||||||
|
parse_options_failure:
|
||||||
#ifdef CONFIG_UDF_NLS
|
#ifdef CONFIG_UDF_NLS
|
||||||
if (UDF_QUERY_FLAG(sb, UDF_FLAG_NLS_MAP))
|
if (UDF_QUERY_FLAG(sb, UDF_FLAG_NLS_MAP))
|
||||||
unload_nls(sbi->s_nls_map);
|
unload_nls(sbi->s_nls_map);
|
||||||
|
|
Loading…
Reference in New Issue