summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJie Gan <jie.gan@oss.qualcomm.com>2026-03-27 09:24:14 +0300
committerSuzuki K Poulose <suzuki.poulose@arm.com>2026-03-27 13:08:49 +0300
commit08643a8760e81fe0bf91c58f7ee9e19b4db3a24f (patch)
tree7d775ba004429182a213d52be49b96cae6cf1e5c
parenta90863095f84f6d17c49716e4e2212d28a6b25b5 (diff)
downloadlinux-08643a8760e81fe0bf91c58f7ee9e19b4db3a24f.tar.xz
coresight: cti: fix the check condition in inout_sel_store
Correct the upper bound from CTIINOUTEN_MAX to config->nr_trig_max, since nr_trig_max varies across CTI devices. An out-of-bounds issue occurs when a value greater than config->nr_trig_max is provided, leading to unexpected errors. Fixes: b5213376c240 ("coresight: cti: Add sysfs access to program function registers") Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com> Reviewed-by: Leo Yan <leo.yan@arm.com> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> Link: https://lore.kernel.org/r/20260327-fix-cti-issue-v1-1-2c8921e21fc8@oss.qualcomm.com
-rw-r--r--drivers/hwtracing/coresight/coresight-cti-sysfs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/hwtracing/coresight/coresight-cti-sysfs.c b/drivers/hwtracing/coresight/coresight-cti-sysfs.c
index 4c0a60840efb..bf3c73607c1c 100644
--- a/drivers/hwtracing/coresight/coresight-cti-sysfs.c
+++ b/drivers/hwtracing/coresight/coresight-cti-sysfs.c
@@ -337,10 +337,11 @@ static ssize_t inout_sel_store(struct device *dev,
{
unsigned long val;
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
+ struct cti_config *config = &drvdata->config;
if (kstrtoul(buf, 0, &val))
return -EINVAL;
- if (val > (CTIINOUTEN_MAX - 1))
+ if (val >= config->nr_trig_max)
return -EINVAL;
guard(raw_spinlock_irqsave)(&drvdata->spinlock);