Skip to contentSkip to conversation

memory: jz4780_nemc: Fix an error pointer vs NULL check in probe()

PATCH Applied Dan Carpenter 3 participants 4 messages Aug 3, 2020 – Aug 17, 2020

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 memory: jz4780_nemc: Fix an error pointer vs NULL check in probe()

The devm_ioremap() function returns NULL on error, it doesn't return error pointers. This bug could lead to an Oops during probe.

Fixes f046e4a3f0b9 ("memory: jz4780_nemc: Only request IO memory the driver will use")
---
 drivers/memory/jz4780-nemc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/memory/jz4780-nemc.c +2 -2
index 3ec5cb0fce1e..608ae925e641 100644
@@ -304,9 +304,9 @@ static int jz4780_nemc_probe(struct platform_device *pdev)
 	}
 
 	nemc->base = devm_ioremap(dev, res->start, NEMC_REG_LEN);
-	if (IS_ERR(nemc->base)) {
+	if (!nemc->base) {
 		dev_err(dev, "failed to get I/O memory\n");
-		return PTR_ERR(nemc->base);
+		return -ENOMEM;
 	}
 
 	writel(0, nemc->base + NEMC_NFCSR);
Signature · 1 line
2.27.0
#1 lore raw
Quoted 8 lines · Dan Carpenter

The devm_ioremap() function returns NULL on error, it doesn't return error pointers. This bug could lead to an Oops during probe.

Fixes f046e4a3f0b9 ("memory: jz4780_nemc: Only request IO memory the driver will use")
---
 drivers/memory/jz4780-nemc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Thanks, good patch. The pull request with offending patch was merged into arm-soc so I expect soon will be merged to Linus' tree. Therefore I'll apply this after merge window to current fixes.

Best regards,
Krzysztof

maintainer Reviewed-by on v1 1/1
#2 lore raw
In reply to Dan Carpenter
Quoted 6 lines · Dan Carpenter

The devm_ioremap() function returns NULL on error, it doesn't return error pointers. This bug could lead to an Oops during probe.

Fixes f046e4a3f0b9 ("memory: jz4780_nemc: Only request IO memory the

driver will use")

Thanks!
-Paul

Quoted 25 lines
---
 drivers/memory/jz4780-nemc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/memory/jz4780-nemc.c +2 -2
index 3ec5cb0fce1e..608ae925e641 100644
@@ -304,9 +304,9 @@ static int jz4780_nemc_probe(struct 
 platform_device *pdev)
 	}
 
 	nemc->base = devm_ioremap(dev, res->start, NEMC_REG_LEN);
-	if (IS_ERR(nemc->base)) {
+	if (!nemc->base) {
 		dev_err(dev, "failed to get I/O memory\n");
-		return PTR_ERR(nemc->base);
+		return -ENOMEM;
 	}
 

writel(0, nemc->base + NEMC_NFCSR);
--
2.27.0

maintainer Applied
#3 lore raw
In reply to Dan Carpenter
Quoted 7 lines · Dan Carpenter

The devm_ioremap() function returns NULL on error, it doesn't return error pointers. This bug could lead to an Oops during probe.

Fixes f046e4a3f0b9 ("memory: jz4780_nemc: Only request IO memory the driver will use")
---
 drivers/memory/jz4780-nemc.c | 4 ++--

Thanks, applied.

Best regards,
Krzysztof