Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

crypto: ux500 - 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: 5a4eea2658c93 ("crypto: ux500 - Use devm_xxx() managed function")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Vladimir Zapolskiy and committed by
Herbert Xu
b62917a2 9b52d55f

+4 -4
+2 -2
drivers/crypto/ux500/cryp/cryp_core.c
··· 1440 1440 1441 1441 device_data->phybase = res->start; 1442 1442 device_data->base = devm_ioremap_resource(dev, res); 1443 - if (!device_data->base) { 1443 + if (IS_ERR(device_data->base)) { 1444 1444 dev_err(dev, "[%s]: ioremap failed!", __func__); 1445 - ret = -ENOMEM; 1445 + ret = PTR_ERR(device_data->base); 1446 1446 goto out; 1447 1447 } 1448 1448
+2 -2
drivers/crypto/ux500/hash/hash_core.c
··· 1659 1659 1660 1660 device_data->phybase = res->start; 1661 1661 device_data->base = devm_ioremap_resource(dev, res); 1662 - if (!device_data->base) { 1662 + if (IS_ERR(device_data->base)) { 1663 1663 dev_err(dev, "%s: ioremap() failed!\n", __func__); 1664 - ret = -ENOMEM; 1664 + ret = PTR_ERR(device_data->base); 1665 1665 goto out; 1666 1666 } 1667 1667 spin_lock_init(&device_data->ctx_lock);