aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVladimir Zapolskiy <vz@mleia.com>2016-03-05 20:21:52 -0500
committerHerbert Xu <herbert@gondor.apana.org.au>2016-03-11 08:19:19 -0500
commit9b52d55f4f0e2bb9a34abbcf99e05e17f1b3b281 (patch)
tree405dc4efa814dc0e2e32d43558d155e9446d0de4
parent84a0ced0b6b47755bf26931ad5ed0ad267139964 (diff)
crypto: atmel - fix checks of error code returned by devm_ioremap_resource()
The change fixes potential oops while accessing iomem on invalid address, if devm_ioremap_resource() fails due to some reason. The devm_ioremap_resource() function returns ERR_PTR() and never returns NULL, which makes useless a following check for NULL. Signed-off-by: Vladimir Zapolskiy <vz@mleia.com> Fixes: b0e8b3417a62 ("crypto: atmel - use devm_xxx() managed function") Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--drivers/crypto/atmel-aes.c4
-rw-r--r--drivers/crypto/atmel-sha.c4
-rw-r--r--drivers/crypto/atmel-tdes.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/drivers/crypto/atmel-aes.c b/drivers/crypto/atmel-aes.c
index 949af89cdac3..93474f8babfc 100644
--- a/drivers/crypto/atmel-aes.c
+++ b/drivers/crypto/atmel-aes.c
@@ -2079,9 +2079,9 @@ static int atmel_aes_probe(struct platform_device *pdev)
2079 } 2079 }
2080 2080
2081 aes_dd->io_base = devm_ioremap_resource(&pdev->dev, aes_res); 2081 aes_dd->io_base = devm_ioremap_resource(&pdev->dev, aes_res);
2082 if (!aes_dd->io_base) { 2082 if (IS_ERR(aes_dd->io_base)) {
2083 dev_err(dev, "can't ioremap\n"); 2083 dev_err(dev, "can't ioremap\n");
2084 err = -ENOMEM; 2084 err = PTR_ERR(aes_dd->io_base);
2085 goto res_err; 2085 goto res_err;
2086 } 2086 }
2087 2087
diff --git a/drivers/crypto/atmel-sha.c b/drivers/crypto/atmel-sha.c
index 7b93586154a7..4b2dd95782bf 100644
--- a/drivers/crypto/atmel-sha.c
+++ b/drivers/crypto/atmel-sha.c
@@ -1486,9 +1486,9 @@ static int atmel_sha_probe(struct platform_device *pdev)
1486 } 1486 }
1487 1487
1488 sha_dd->io_base = devm_ioremap_resource(&pdev->dev, sha_res); 1488 sha_dd->io_base = devm_ioremap_resource(&pdev->dev, sha_res);
1489 if (!sha_dd->io_base) { 1489 if (IS_ERR(sha_dd->io_base)) {
1490 dev_err(dev, "can't ioremap\n"); 1490 dev_err(dev, "can't ioremap\n");
1491 err = -ENOMEM; 1491 err = PTR_ERR(sha_dd->io_base);
1492 goto res_err; 1492 goto res_err;
1493 } 1493 }
1494 1494
diff --git a/drivers/crypto/atmel-tdes.c b/drivers/crypto/atmel-tdes.c
index 2c7a628d0375..bf467d7be35c 100644
--- a/drivers/crypto/atmel-tdes.c
+++ b/drivers/crypto/atmel-tdes.c
@@ -1417,9 +1417,9 @@ static int atmel_tdes_probe(struct platform_device *pdev)
1417 } 1417 }
1418 1418
1419 tdes_dd->io_base = devm_ioremap_resource(&pdev->dev, tdes_res); 1419 tdes_dd->io_base = devm_ioremap_resource(&pdev->dev, tdes_res);
1420 if (!tdes_dd->io_base) { 1420 if (IS_ERR(tdes_dd->io_base)) {
1421 dev_err(dev, "can't ioremap\n"); 1421 dev_err(dev, "can't ioremap\n");
1422 err = -ENOMEM; 1422 err = PTR_ERR(tdes_dd->io_base);
1423 goto res_err; 1423 goto res_err;
1424 } 1424 }
1425 1425