diff options
author | Bartosz Golaszewski <bartosz.golaszewski@linaro.org> | 2024-12-02 17:57:23 +0100 |
---|---|---|
committer | Georgi Djakov <djakov@kernel.org> | 2024-12-17 14:03:34 +0200 |
commit | 44c5aa73ccd1e8a738fd011354ee8fb9fcda201a (patch) | |
tree | 14f35ba3ad68a528bc048b1642e10b4661518b33 | |
parent | 00a973e093e93690d433f1e1873ee52a6a6eca1f (diff) | |
download | linux-44c5aa73ccd1e8a738fd011354ee8fb9fcda201a.tar.gz linux-44c5aa73ccd1e8a738fd011354ee8fb9fcda201a.tar.bz2 linux-44c5aa73ccd1e8a738fd011354ee8fb9fcda201a.zip |
interconnect: icc-clk: check return values of devm_kasprintf()
devm_kasprintf() can fail and return NULL, add missing return value
checks.
Fixes: 0ac2a08f42ce ("interconnect: add clk-based icc provider support")
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20241202165723.17292-1-brgl@bgdev.pl
Signed-off-by: Georgi Djakov <djakov@kernel.org>
-rw-r--r-- | drivers/interconnect/icc-clk.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/interconnect/icc-clk.c b/drivers/interconnect/icc-clk.c index b956e4050f38..88f311c11020 100644 --- a/drivers/interconnect/icc-clk.c +++ b/drivers/interconnect/icc-clk.c @@ -116,6 +116,11 @@ struct icc_provider *icc_clk_register(struct device *dev, } node->name = devm_kasprintf(dev, GFP_KERNEL, "%s_master", data[i].name); + if (!node->name) { + ret = -ENOMEM; + goto err; + } + node->data = &qp->clocks[i]; icc_node_add(node, provider); /* link to the next node, slave */ @@ -129,6 +134,11 @@ struct icc_provider *icc_clk_register(struct device *dev, } node->name = devm_kasprintf(dev, GFP_KERNEL, "%s_slave", data[i].name); + if (!node->name) { + ret = -ENOMEM; + goto err; + } + /* no data for slave node */ icc_node_add(node, provider); onecell->nodes[j++] = node; |