From: Markus Elfring <[email protected]>
Date: Sat, 21 Feb 2015 18:19:04 +0100

The kfree() function was called in a few cases by the
ocfs2_convert_inline_data_to_extents() function during error handling
even if the passed variable "pages" contained a null pointer.

* Return from this implementation directly after failure detection for
  the function call "kcalloc".

* Corresponding details could be improved by the introduction of another
  jump label.

Signed-off-by: Markus Elfring <[email protected]>
---
 fs/ocfs2/alloc.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c
index fdab27c..bf806e5 100644
--- a/fs/ocfs2/alloc.c
+++ b/fs/ocfs2/alloc.c
@@ -6853,13 +6853,13 @@ int ocfs2_convert_inline_data_to_extents(struct inode 
*inode,
                if (pages == NULL) {
                        ret = -ENOMEM;
                        mlog_errno(ret);
-                       goto out;
+                       return ret;
                }
 
                ret = ocfs2_reserve_clusters(osb, 1, &data_ac);
                if (ret) {
                        mlog_errno(ret);
-                       goto out;
+                       goto free_pages;
                }
        }
 
@@ -6991,6 +6991,7 @@ out_commit:
 out:
        if (data_ac)
                ocfs2_free_alloc_context(data_ac);
+free_pages:
        kfree(pages);
        return ret;
 }
-- 
2.3.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to