fs/xfs/xfs_mru_cache.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-)
From: Markus Elfring <elfring@users.sourceforge.net>
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@users.sourceforge.net>
---
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
On Tue, 10 Jun 2025 15:00:27 +0200, Markus Elfring wrote: > Simplify error handling in this function implementation. > > * Delete unnecessary pointer checks and variable assignments. > > * Omit a redundant function call. > > > [...] Applied to for-next, thanks! [1/1] xfs: Improve error handling in xfs_mru_cache_create() commit: 19fa6e493a933c095f164230d3393d504216e052 Best regards, -- Carlos Maiolino <cem@kernel.org>
On Tue, Jun 10, 2025 at 03:00:27PM +0200, Markus Elfring wrote: > From: Markus Elfring <elfring@users.sourceforge.net> > 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@users.sourceforge.net> Looks ok, Reviewed-by: "Darrick J. Wong" <djwong@kernel.org> --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 > >
© 2016 - 2025 Red Hat, Inc.