summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChen Ni <nichen@iscas.ac.cn>2026-03-26 17:08:56 +0800
committerWill Deacon <will@kernel.org>2026-03-26 15:23:38 +0000
commitd49802b6617b96f55d4b61fed81f4cc43858ed3f (patch)
tree62423c9c4b903adb75cc632b08e609a3d3b88865
parent2f89b7f78c50ca973ca035ceb30426f78d9e0996 (diff)
perf/arm-cmn: Fix incorrect error check for devm_ioremap()
Check devm_ioremap() return value for NULL instead of ERR_PTR and return -ENOMEM on failure. devm_ioremap() never returns ERR_PTR, using IS_ERR() skips the error path and may cause a NULL pointer dereference. Fixes: 5394396ff548 ("perf/arm-cmn: Stop claiming entire iomem region") Signed-off-by: Chen Ni <nichen@iscas.ac.cn> Signed-off-by: Will Deacon <will@kernel.org>
-rw-r--r--drivers/perf/arm-cmn.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/perf/arm-cmn.c b/drivers/perf/arm-cmn.c
index 1ac91cda6780..9fe00d0f4deb 100644
--- a/drivers/perf/arm-cmn.c
+++ b/drivers/perf/arm-cmn.c
@@ -2573,8 +2573,8 @@ static int arm_cmn_probe(struct platform_device *pdev)
/* Map the whole region now, claim the DTCs once we've found them */
cmn->base = devm_ioremap(cmn->dev, cfg->start, resource_size(cfg));
- if (IS_ERR(cmn->base))
- return PTR_ERR(cmn->base);
+ if (!cmn->base)
+ return -ENOMEM;
rootnode = arm_cmn_get_root(cmn, cfg);
if (rootnode < 0)