Commit 3cc79b79 authored by Markus Elfring's avatar Markus Elfring Committed by Linus Torvalds

ocfs2: less function calls in ocfs2_convert_inline_data_to_extents() after error detection

kfree() was called in a few cases by ocfs2_convert_inline_data_to_extents()
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: default avatarMarkus Elfring <elfring@users.sourceforge.net>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Joel Becker <jlbec@evilplan.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent fd90d4df
...@@ -6853,13 +6853,13 @@ int ocfs2_convert_inline_data_to_extents(struct inode *inode, ...@@ -6853,13 +6853,13 @@ int ocfs2_convert_inline_data_to_extents(struct inode *inode,
if (pages == NULL) { if (pages == NULL) {
ret = -ENOMEM; ret = -ENOMEM;
mlog_errno(ret); mlog_errno(ret);
goto out; return ret;
} }
ret = ocfs2_reserve_clusters(osb, 1, &data_ac); ret = ocfs2_reserve_clusters(osb, 1, &data_ac);
if (ret) { if (ret) {
mlog_errno(ret); mlog_errno(ret);
goto out; goto free_pages;
} }
} }
...@@ -6991,6 +6991,7 @@ int ocfs2_convert_inline_data_to_extents(struct inode *inode, ...@@ -6991,6 +6991,7 @@ int ocfs2_convert_inline_data_to_extents(struct inode *inode,
out: out:
if (data_ac) if (data_ac)
ocfs2_free_alloc_context(data_ac); ocfs2_free_alloc_context(data_ac);
free_pages:
kfree(pages); kfree(pages);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment