diff mbox series

[next] thermal/drivers/devfreq_cooling: Fix error return if kasprintf returns NULL

Message ID 20210325172148.485259-1-colin.king@canonical.com (mailing list archive)
State New, archived
Delegated to: Daniel Lezcano
Headers show
Series [next] thermal/drivers/devfreq_cooling: Fix error return if kasprintf returns NULL | expand

Commit Message

Colin King March 25, 2021, 5:21 p.m. UTC
From: Colin Ian King <colin.king@canonical.com>

Currently when kasprintf fails and returns NULL, the error return -ENOMEM
is being assigned to cdev instead of err causing the return via the label
remove_qos_re to return the incorrect error code. Fix this by explicitly
setting err before taking the error return path.

Addresses-Coverity: ("Unused valued")
Fixes: f8d354e821b2 ("thermal/drivers/devfreq_cooling: Use device name instead of auto-numbering")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/thermal/devfreq_cooling.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Daniel Lezcano April 4, 2021, 8:12 p.m. UTC | #1
Hi Colin,


On 25/03/2021 18:21, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> Currently when kasprintf fails and returns NULL, the error return -ENOMEM
> is being assigned to cdev instead of err causing the return via the label
> remove_qos_re to return the incorrect error code. Fix this by explicitly
> setting err before taking the error return path.
> 
> Addresses-Coverity: ("Unused valued")
> Fixes: f8d354e821b2 ("thermal/drivers/devfreq_cooling: Use device name instead of auto-numbering")
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---

Thanks for your patch. It was already fixed after being reported by
kbuild-test.

  -- Daniel
diff mbox series

Patch

diff --git a/drivers/thermal/devfreq_cooling.c b/drivers/thermal/devfreq_cooling.c
index fb250ac16f50..2c7e9e9cfbe1 100644
--- a/drivers/thermal/devfreq_cooling.c
+++ b/drivers/thermal/devfreq_cooling.c
@@ -402,10 +402,11 @@  of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df,
 	if (err < 0)
 		goto free_table;
 
-	cdev = ERR_PTR(-ENOMEM);
 	name = kasprintf(GFP_KERNEL, "devfreq-%s", dev_name(dev));
-	if (!name)
+	if (!name) {
+		err = -ENOMEM;
 		goto remove_qos_req;
+	}
 
 	cdev = thermal_of_cooling_device_register(np, name, dfc,
 						  &devfreq_cooling_ops);