fs/ntfs/super.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-)
Both load_and_init_attrdef() and load_and_init_upcase() open a system
inode with ntfs_iget() and, on error, run:
if (IS_ERR(ino)) {
if (!IS_ERR(ino))
iput(ino);
goto failed;
}
The inner guard is the exact negation of the outer one, so
iput(ino) is dead code. Drop the unreachable branch and collapse
the error check to a single statement.
No functional change.
Signed-off-by: Jiangshan Yi <yijiangshan@kylinos.cn>
---
fs/ntfs/super.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/fs/ntfs/super.c b/fs/ntfs/super.c
index 60d43339c590..1b916deb7acc 100644
--- a/fs/ntfs/super.c
+++ b/fs/ntfs/super.c
@@ -1235,11 +1235,8 @@ static bool load_and_init_attrdef(struct ntfs_volume *vol)
ntfs_debug("Entering.");
/* Read attrdef table and setup vol->attrdef and vol->attrdef_size. */
ino = ntfs_iget(sb, FILE_AttrDef);
- if (IS_ERR(ino)) {
- if (!IS_ERR(ino))
- iput(ino);
+ if (IS_ERR(ino))
goto failed;
- }
NInoSetSparseDisabled(NTFS_I(ino));
/* FILE_AttrDef must hold at least one entry and fit inside 31 bits. */
i_size = i_size_read(ino);
@@ -1301,11 +1298,8 @@ static bool load_and_init_upcase(struct ntfs_volume *vol)
ntfs_debug("Entering.");
/* Read upcase table and setup vol->upcase and vol->upcase_len. */
ino = ntfs_iget(sb, FILE_UpCase);
- if (IS_ERR(ino)) {
- if (!IS_ERR(ino))
- iput(ino);
+ if (IS_ERR(ino))
goto upcase_failed;
- }
/*
* The upcase size must not be above 64k Unicode characters, must not
* be zero and must be a multiple of sizeof(__le16).
--
2.25.1
On Mon, Sep 7, 2026 at 7:17 PM Jiangshan Yi <yijiangshan@kylinos.cn> wrote:
>
> Both load_and_init_attrdef() and load_and_init_upcase() open a system
> inode with ntfs_iget() and, on error, run:
>
> if (IS_ERR(ino)) {
> if (!IS_ERR(ino))
> iput(ino);
> goto failed;
> }
>
> The inner guard is the exact negation of the outer one, so
> iput(ino) is dead code. Drop the unreachable branch and collapse
> the error check to a single statement.
>
> No functional change.
>
> Signed-off-by: Jiangshan Yi <yijiangshan@kylinos.cn>
Applied it to #ntfs-next.
Thanks!
在 2026/9/7 18:16, Jiangshan Yi 写道:
> Both load_and_init_attrdef() and load_and_init_upcase() open a system
> inode with ntfs_iget() and, on error, run:
>
> if (IS_ERR(ino)) {
> if (!IS_ERR(ino))
> iput(ino);
> goto failed;
> }
>
> The inner guard is the exact negation of the outer one, so
> iput(ino) is dead code. Drop the unreachable branch and collapse
> the error check to a single statement.
>
> No functional change.
>
> Signed-off-by: Jiangshan Yi <yijiangshan@kylinos.cn>
> ---
> fs/ntfs/super.c | 10 ++--------
> 1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/fs/ntfs/super.c b/fs/ntfs/super.c
> index 60d43339c590..1b916deb7acc 100644
> --- a/fs/ntfs/super.c
> +++ b/fs/ntfs/super.c
> @@ -1235,11 +1235,8 @@ static bool load_and_init_attrdef(struct ntfs_volume *vol)
> ntfs_debug("Entering.");
> /* Read attrdef table and setup vol->attrdef and vol->attrdef_size. */
> ino = ntfs_iget(sb, FILE_AttrDef);
> - if (IS_ERR(ino)) {
> - if (!IS_ERR(ino))
> - iput(ino);
> + if (IS_ERR(ino))
> goto failed;
> - }
> NInoSetSparseDisabled(NTFS_I(ino));
> /* FILE_AttrDef must hold at least one entry and fit inside 31 bits. */
> i_size = i_size_read(ino);
> @@ -1301,11 +1298,8 @@ static bool load_and_init_upcase(struct ntfs_volume *vol)
> ntfs_debug("Entering.");
> /* Read upcase table and setup vol->upcase and vol->upcase_len. */
> ino = ntfs_iget(sb, FILE_UpCase);
> - if (IS_ERR(ino)) {
> - if (!IS_ERR(ino))
> - iput(ino);
> + if (IS_ERR(ino))
> goto upcase_failed;
> - }
> /*
> * The upcase size must not be above 64k Unicode characters, must not
> * be zero and must be a multiple of sizeof(__le16).
Looks good to me.
Reviewed-by: Baolin Liu <liubaolin@kylinos.cn>
© 2016 - 2026 Red Hat, Inc.