[PATCH 1/2] ubifs: Call iput(xino) only once in ubifs_purge_xattrs()

Markus Elfring Markus.Elfring at web.de
Thu Sep 26 02:49:26 PDT 2024


From: Markus Elfring <elfring at users.sourceforge.net>
Date: Thu, 26 Sep 2024 11:05:29 +0200

An iput(xino) call was immediately used after a return value check
for a remove_xattr() call in this function implementation.
Thus call such a function only once instead directly before the check.

This issue was transformed by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring at users.sourceforge.net>
---
 fs/ubifs/xattr.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/fs/ubifs/xattr.c b/fs/ubifs/xattr.c
index f734588b224a..7757959e9f09 100644
--- a/fs/ubifs/xattr.c
+++ b/fs/ubifs/xattr.c
@@ -541,16 +541,14 @@ int ubifs_purge_xattrs(struct inode *host)

 		clear_nlink(xino);
 		err = remove_xattr(c, host, xino, &nm);
+		iput(xino);
 		if (err) {
 			kfree(pxent);
 			kfree(xent);
-			iput(xino);
 			ubifs_err(c, "cannot remove xattr, error %d", err);
 			goto out_err;
 		}

-		iput(xino);
-
 		kfree(pxent);
 		pxent = xent;
 		key_read(c, &xent->key, &key);
--
2.46.1




More information about the linux-mtd mailing list