ubifs: Reduce kfree() calls in ubifs_purge_xattrs()
authorMarkus Elfring <elfring@users.sourceforge.net>
Thu, 26 Sep 2024 09:28:48 +0000 (11:28 +0200)
committerRichard Weinberger <richard@nod.at>
Thu, 14 Nov 2024 17:49:24 +0000 (18:49 +0100)
Move a pair of kfree() calls behind the label “out_err”
so that two statements can be better reused at the end of
this function implementation.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Reviewed-by: Zhihao Cheng <chengzhihao1@huawei.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
fs/ubifs/xattr.c

index cf77fb2..77ba172 100644 (file)
@@ -532,8 +532,6 @@ int ubifs_purge_xattrs(struct inode *host)
                        ubifs_err(c, "dead directory entry '%s', error %d",
                                  xent->name, err);
                        ubifs_ro_mode(c, err);
-                       kfree(pxent);
-                       kfree(xent);
                        goto out_err;
                }
 
@@ -543,8 +541,6 @@ int ubifs_purge_xattrs(struct inode *host)
                err = remove_xattr(c, host, xino, &nm);
                iput(xino);
                if (err) {
-                       kfree(pxent);
-                       kfree(xent);
                        ubifs_err(c, "cannot remove xattr, error %d", err);
                        goto out_err;
                }
@@ -564,6 +560,8 @@ int ubifs_purge_xattrs(struct inode *host)
        return 0;
 
 out_err:
+       kfree(pxent);
+       kfree(xent);
        up_write(&ubifs_inode(host)->xattr_sem);
        return err;
 }