[PATCH] coresight: tpdm: fix invalid MMIO access issue
Jie Gan
jie.gan at oss.qualcomm.com
Tue Apr 7 01:33:22 PDT 2026
Hi Leo
On 4/7/2026 4:10 PM, Leo Yan wrote:
> On Tue, Apr 07, 2026 at 12:47:11PM +0800, Jie Gan wrote:
>> 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 and potentially leading to
>> unexpected issues.
>
> This patch itself is fine for me. However, I am wandering if this
> is sufficient.
>
> As mentioned "potentially leading to unexpected issues", can I
> understand some code pieces access register with uninitialized base?
> If so, you would also explictly add coresight_is_static_tpdm() to
> prevent register access.
>
Actually, we havent MMIO access for the static TPDM device, So no issues
are observed. The commit message here may be misleading. do I need
rephrase the commit message?
Thanks,
Jie
> Thanks,
> Leo
>
>> Fixes: 14ae052f7947 ("coresight: tpdm: add static tpdm support")
>> Signed-off-by: Jie Gan <jie.gan at oss.qualcomm.com>
>> ---
>> drivers/hwtracing/coresight/coresight-tpdm.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/hwtracing/coresight/coresight-tpdm.c b/drivers/hwtracing/coresight/coresight-tpdm.c
>> index 9b16f368a58b..eaf7210af648 100644
>> --- a/drivers/hwtracing/coresight/coresight-tpdm.c
>> +++ b/drivers/hwtracing/coresight/coresight-tpdm.c
>> @@ -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
>>
>> ---
>> base-commit: 816f193dd0d95246f208590924dd962b192def78
>> change-id: 20260407-fix-potential-issue-in-tpdm-b07b44416051
>>
>> Best regards,
>> --
>> Jie Gan <jie.gan at oss.qualcomm.com>
>>
More information about the linux-arm-kernel
mailing list