Commit 37911636 authored by Georgi Djakov's avatar Georgi Djakov Committed by Greg Kroah-Hartman
Browse files

interconnect: Handle memory allocation errors



When we allocate memory, kasprintf() can fail and we must check its
return value.

Fixes: 05309830 ("interconnect: Add a name to struct icc_path")
Signed-off-by: default avatarGeorgi Djakov <georgi.djakov@linaro.org>
Link: https://lore.kernel.org/r/20200226110420.5357-2-georgi.djakov@linaro.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 3745488e
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -445,6 +445,11 @@ struct icc_path *of_icc_get(struct device *dev, const char *name)
		path->name = kasprintf(GFP_KERNEL, "%s-%s",
				       src_node->name, dst_node->name);

	if (!path->name) {
		kfree(path);
		return ERR_PTR(-ENOMEM);
	}

	return path;
}
EXPORT_SYMBOL_GPL(of_icc_get);
@@ -579,6 +584,10 @@ struct icc_path *icc_get(struct device *dev, const int src_id, const int dst_id)
	}

	path->name = kasprintf(GFP_KERNEL, "%s-%s", src->name, dst->name);
	if (!path->name) {
		kfree(path);
		path = ERR_PTR(-ENOMEM);
	}
out:
	mutex_unlock(&icc_lock);
	return path;