diff options
author | Vladimir Zapolskiy <vz@mleia.com> | 2016-03-05 20:21:52 -0500 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2016-03-11 08:19:19 -0500 |
commit | 9b52d55f4f0e2bb9a34abbcf99e05e17f1b3b281 (patch) | |
tree | 405dc4efa814dc0e2e32d43558d155e9446d0de4 | |
parent | 84a0ced0b6b47755bf26931ad5ed0ad267139964 (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.c | 4 | ||||
-rw-r--r-- | drivers/crypto/atmel-sha.c | 4 | ||||
-rw-r--r-- | drivers/crypto/atmel-tdes.c | 4 |
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 | ||