[PATCH 2/2] ubifs: Reduce kfree() calls in ubifs_purge_xattrs()

Markus Elfring posted 2 patches 2 months ago
[PATCH 2/2] ubifs: Reduce kfree() calls in ubifs_purge_xattrs()
Posted by Markus Elfring 2 months ago
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Thu, 26 Sep 2024 11:28:48 +0200

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>
---
 fs/ubifs/xattr.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/fs/ubifs/xattr.c b/fs/ubifs/xattr.c
index 7757959e9f09..a514dc4dc535 100644
--- a/fs/ubifs/xattr.c
+++ b/fs/ubifs/xattr.c
@@ -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;
 }
--
2.46.1
Re: [PATCH 2/2] ubifs: Reduce kfree() calls in ubifs_purge_xattrs()
Posted by Zhihao Cheng 2 months ago
在 2024/9/26 17:50, Markus Elfring 写道:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Thu, 26 Sep 2024 11:28:48 +0200
> 
> 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>
> ---
>   fs/ubifs/xattr.c | 6 ++----
>   1 file changed, 2 insertions(+), 4 deletions(-)
> 

Reviewed-by: Zhihao Cheng <chengzhihao1@huawei.com>
> diff --git a/fs/ubifs/xattr.c b/fs/ubifs/xattr.c
> index 7757959e9f09..a514dc4dc535 100644
> --- a/fs/ubifs/xattr.c
> +++ b/fs/ubifs/xattr.c
> @@ -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;
>   }
> --
> 2.46.1
> 
> .
>