mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
coresight: tpdm: fix invalid MMIO access issue
Create the csdev_access struct only when a valid MMIO resource is
available. In tpdm_probe(), base is uninitialized for static TPDM
instances that lack an MMIO resource, causing csdev_access to be
created with a garbage address.
So far there has no register access for static instance, but this
change helps mitigate potential risks in the future.
Fixes: 14ae052f79 ("coresight: tpdm: add static tpdm support")
Reviewed-by: Leo Yan <leo.yan@arm.com>
Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20260407-fix-potential-issue-in-tpdm-v2-1-1d0e0d3cb793@oss.qualcomm.com
This commit is contained in:
parent
ec687ba840
commit
971f3474f8
|
|
@ -1430,6 +1430,7 @@ static int tpdm_probe(struct device *dev, struct resource *res)
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
desc.access = CSDEV_ACCESS_IOMEM(base);
|
||||
if (tpdm_has_dsb_dataset(drvdata))
|
||||
of_property_read_u32(drvdata->dev->of_node,
|
||||
"qcom,dsb-msrs-num", &drvdata->dsb_msr_num);
|
||||
|
|
@ -1452,7 +1453,6 @@ static int tpdm_probe(struct device *dev, struct resource *res)
|
|||
desc.ops = &tpdm_cs_ops;
|
||||
desc.pdata = dev->platform_data;
|
||||
desc.dev = dev;
|
||||
desc.access = CSDEV_ACCESS_IOMEM(base);
|
||||
if (res)
|
||||
desc.groups = tpdm_attr_grps;
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user