]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
xfs: Improve error handling in xfs_mru_cache_create()
authorMarkus Elfring <elfring@users.sourceforge.net>
Tue, 10 Jun 2025 12:50:07 +0000 (14:50 +0200)
committerCarlos Maiolino <cem@kernel.org>
Mon, 16 Jun 2025 08:07:21 +0000 (10: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@users.sourceforge.net>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/xfs_mru_cache.c

index c95401de8397dceac5434588f1fbd12bb55344bc..866c71d9fbaed4800f90e6547cf2e2c9c1f41742 100644 (file)
@@ -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;
 }
 
 /*