From: Daniel Lezcano <daniel.lezcano@oss.qualcomm.com>
To: daniel.lezcano@oss.qualcomm.com
Cc: andersson@kernel.org, Amit Kucheria <amitk@kernel.org>,
Thara Gopinath <thara.gopinath@gmail.com>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Daniel Lezcano <daniel.lezcano@kernel.org>,
Zhang Rui <rui.zhang@intel.com>,
Lukasz Luba <lukasz.luba@arm.com>,
linux-arm-msm@vger.kernel.org (open list:ARM/QUALCOMM MAILING
LIST),
linux-pm@vger.kernel.org (open list:QUALCOMM TSENS THERMAL
DRIVER), linux-kernel@vger.kernel.org (open list)
Subject: [PATCH 2/3] thermal/drivers/qcom/tsens: Validate the sensor count before initialization
Date: Wed, 21 Oct 2026 10:57:47 +0200 [thread overview]
Message-ID: <20261021085749.3786101-2-daniel.lezcano@oss.qualcomm.com> (raw)
In-Reply-To: <20261021085749.3786101-1-daniel.lezcano@oss.qualcomm.com>
The #qcom,sensors property can override the platform sensor count without
an upper-bound check. A count exceeding the IP's maximum causes the
driver to access uninitialized regmap fields when handling interrupts.
Platforms with an explicit hardware-ID table can also read beyond that
table, even when the count remains within the IP's hardware limit.
Reject zero counts and counts exceeding the hardware maximum or, when
present, the hardware-ID table length before allocating the private
structure and assigning sensor IDs. Preserve the existing fallback to
the platform default when the property cannot be read, and document
both the fallback and the sensor-count limits.
Fixes: 6d7c70d1cd65 ("thermal: qcom: tsens: Allow number of sensors to come from DT")
Closes: https://sashiko.dev/#/bug/linux-d0867095-c131-491e-a6aa-a81debfd0df5
Signed-off-by: Daniel Lezcano <daniel.lezcano@oss.qualcomm.com>
Cc: Bjorn Andersson <andersson@kernel.org>
---
drivers/thermal/qcom/tsens.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c
index 4f69ce4976d9..9134637a3458 100644
--- a/drivers/thermal/qcom/tsens.c
+++ b/drivers/thermal/qcom/tsens.c
@@ -1399,10 +1399,20 @@ static int tsens_probe_common(struct platform_device *pdev)
num_sensors = data->num_sensors;
+ /*
+ * DT may override the platform sensor count. A missing, empty or too
+ * short property leaves num_sensors unchanged, retaining the default.
+ */
if (np)
of_property_read_u32(np, "#qcom,sensors", &num_sensors);
- if (num_sensors <= 0) {
+ /*
+ * Require at least one sensor and stay within the IP's hardware limit.
+ * Platforms with an explicit hardware-ID table also limit the count to
+ * its number of entries, which may be smaller than the hardware limit.
+ */
+ if (!num_sensors || num_sensors > data->feat->max_sensors ||
+ (data->hw_ids && num_sensors > data->num_sensors)) {
dev_err(dev, "%s: invalid number of sensors\n", __func__);
return -EINVAL;
}
--
2.43.0
next prev parent reply other threads:[~2026-10-21 8:58 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-21 8:57 [PATCH 1/3] thermal/drivers/qcom/tsens: Release parent resources on probe failure Daniel Lezcano
2026-10-21 8:57 ` Daniel Lezcano [this message]
2026-10-21 8:57 ` [PATCH 3/3] thermal/drivers/qcom/tsens: Disable hardware " Daniel Lezcano
2026-10-21 10:27 ` Konrad Dybcio
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261021085749.3786101-2-daniel.lezcano@oss.qualcomm.com \
--to=daniel.lezcano@oss.qualcomm.com \
--cc=amitk@kernel.org \
--cc=andersson@kernel.org \
--cc=daniel.lezcano@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=lukasz.luba@arm.com \
--cc=rafael@kernel.org \
--cc=rui.zhang@intel.com \
--cc=thara.gopinath@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®