]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
PM / devfreq: mtk-cci: Fix potential error pointer dereference in probe()
authorDan Carpenter <dan.carpenter@linaro.org>
Thu, 7 Aug 2025 15:58:23 +0000 (18:58 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Oct 2025 09:56:27 +0000 (11:56 +0200)
[ Upstream commit fc33bf0e097c6834646b98a7b3da0ae5b617f0f9 ]

The drv->sram_reg pointer could be set to ERR_PTR(-EPROBE_DEFER) which
would lead to a error pointer dereference.  Use IS_ERR_OR_NULL() to check
that the pointer is valid.

Fixes: e09bd5757b52 ("PM / devfreq: mtk-cci: Handle sram regulator probe deferral")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Link: https://patchwork.kernel.org/project/linux-pm/patch/aJTNHz8kk8s6Q2os@stanley.mountain/
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/devfreq/mtk-cci-devfreq.c

index e5458ada5197a1d5a40d889268205d6c029e2f01..a68f51cc5ef967ee15905e12280a13832d187ce9 100644 (file)
@@ -385,7 +385,8 @@ out_disable_cci_clk:
 out_free_resources:
        if (regulator_is_enabled(drv->proc_reg))
                regulator_disable(drv->proc_reg);
-       if (drv->sram_reg && regulator_is_enabled(drv->sram_reg))
+       if (!IS_ERR_OR_NULL(drv->sram_reg) &&
+           regulator_is_enabled(drv->sram_reg))
                regulator_disable(drv->sram_reg);
 
        return ret;