From 41796cc0ecf69caacd999f7235caf65aacc86f5f Mon Sep 17 00:00:00 2001 From: Konrad Dybcio Date: Wed, 26 Jun 2024 16:19:09 +0800 Subject: [PATCH] thermal/drivers/qcom/lmh: Check for SCM availability at probe mainline inclusion from mainline-v6.10-rc1 commit d9d3490c48df572edefc0b64655259eefdcbb9be category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA8AE9 CVE: CVE-2024-39466 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d9d3490c48df572edefc0b64655259eefdcbb9be --------------------------- 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: Reviewed-by: Dmitry Baryshkov Reviewed-by: Bjorn Andersson Signed-off-by: Konrad Dybcio Signed-off-by: Daniel Lezcano Link: https://lore.kernel.org/r/20240308-topic-rb1_lmh-v2-2-bac3914b0fe3@linaro.org Signed-off-by: Zheng Yejian Signed-off-by: Zheng Yejian --- 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 f6edb12ec004..5225b3621a56 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; -- Gitee