The following commit has been merged into the thermal/fixes branch of thermal:
Commit-ID: d9d3490c48df572edefc0b64655259eefdcbb9be Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git//d9d3490c4... Author: Konrad Dybcio konrad.dybcio@linaro.org AuthorDate: Sat, 09 Mar 2024 14:15:03 +01:00 Committer: Daniel Lezcano daniel.lezcano@linaro.org CommitterDate: Tue, 23 Apr 2024 12:40:29 +02:00
thermal/drivers/qcom/lmh: Check for SCM availability at probe
Up until now, the necessary scm availability check has not been performed, leading to possible null pointer dereferences (which did happen for me on RB1).
Fix that.
Fixes: 53bca371cdf7 ("thermal/drivers/qcom: Add support for LMh driver") Cc: stable@vger.kernel.org Reviewed-by: Dmitry Baryshkov dmitry.baryshkov@linaro.org Reviewed-by: Bjorn Andersson andersson@kernel.org Signed-off-by: Konrad Dybcio konrad.dybcio@linaro.org Signed-off-by: Daniel Lezcano daniel.lezcano@linaro.org Link: https://lore.kernel.org/r/20240308-topic-rb1_lmh-v2-2-bac3914b0fe3@linaro.or... --- drivers/thermal/qcom/lmh.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/thermal/qcom/lmh.c b/drivers/thermal/qcom/lmh.c index f6edb12..5225b36 100644 --- a/drivers/thermal/qcom/lmh.c +++ b/drivers/thermal/qcom/lmh.c @@ -95,6 +95,9 @@ static int lmh_probe(struct platform_device *pdev) unsigned int enable_alg; u32 node_id;
+ if (!qcom_scm_is_available()) + return -EPROBE_DEFER; + lmh_data = devm_kzalloc(dev, sizeof(*lmh_data), GFP_KERNEL); if (!lmh_data) return -ENOMEM;