From: Chen Ni Date: Thu, 26 Mar 2026 09:08:56 +0000 (+0800) Subject: perf/arm-cmn: Fix incorrect error check for devm_ioremap() X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d49802b6617b96f55d4b61fed81f4cc43858ed3f;p=thirdparty%2Flinux.git 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 Signed-off-by: Will Deacon --- diff --git a/drivers/perf/arm-cmn.c b/drivers/perf/arm-cmn.c index 1ac91cda67801..9fe00d0f4deb3 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)