Re: [PATCH] xfs: Improve error handling in xfs_mru_cache_create()
From: Darrick J. Wong
Date: Tue Jun 10 2025 - 10:59:14 EST
On Tue, Jun 10, 2025 at 03:00:27PM +0200, Markus Elfring wrote:
> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> Date: Tue, 10 Jun 2025 14:50:07 +0200
>
> Simplify error handling in this function implementation.
>
> * Delete unnecessary pointer checks and variable assignments.
>
> * Omit a redundant function call.
>
>
> This issue was detected by using the Coccinelle software.
>
> Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Looks ok,
Reviewed-by: "Darrick J. Wong" <djwong@xxxxxxxxxx>
--D
> ---
> fs/xfs/xfs_mru_cache.c | 15 ++++-----------
> 1 file changed, 4 insertions(+), 11 deletions(-)
>
> diff --git a/fs/xfs/xfs_mru_cache.c b/fs/xfs/xfs_mru_cache.c
> index 08443ceec329..2ed679a52e41 100644
> --- a/fs/xfs/xfs_mru_cache.c
> +++ b/fs/xfs/xfs_mru_cache.c
> @@ -320,7 +320,7 @@ xfs_mru_cache_create(
> xfs_mru_cache_free_func_t free_func)
> {
> struct xfs_mru_cache *mru = NULL;
> - int err = 0, grp;
> + int grp;
> unsigned int grp_time;
>
> if (mrup)
> @@ -341,8 +341,8 @@ xfs_mru_cache_create(
> mru->lists = kzalloc(mru->grp_count * sizeof(*mru->lists),
> GFP_KERNEL | __GFP_NOFAIL);
> if (!mru->lists) {
> - err = -ENOMEM;
> - goto exit;
> + kfree(mru);
> + return -ENOMEM;
> }
>
> for (grp = 0; grp < mru->grp_count; grp++)
> @@ -361,14 +361,7 @@ xfs_mru_cache_create(
> mru->free_func = free_func;
> mru->data = data;
> *mrup = mru;
> -
> -exit:
> - if (err && mru && mru->lists)
> - kfree(mru->lists);
> - if (err && mru)
> - kfree(mru);
> -
> - return err;
> + return 0;
> }
>
> /*
> --
> 2.49.0
>
>