Commit d49802b6 authored by Chen Ni's avatar Chen Ni Committed by Will Deacon
Browse files

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: 5394396f ("perf/arm-cmn: Stop claiming entire iomem region")
Signed-off-by: default avatarChen Ni <nichen@iscas.ac.cn>
Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent 2f89b7f7
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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)