Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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 @@ int ocfs2_convert_inline_data_to_extents(struct inode *inode,
out:
	if (data_ac)
		ocfs2_free_alloc_context(data_ac);
free_pages:
	kfree(pages);
	return ret;
}