[PATCH] ntfs: remove unreachable code in load_and_init_attrdef/upcase

From: Jiangshan Yi

Date: Mon Sep 07 2026 - 06:17:12 EST


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@xxxxxxxxxx>
---
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