aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto
diff options
context:
space:
mode:
authorKilian Zinnecker <kilian.zinnecker@mail.de>2024-02-18 23:16:58 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2024-02-24 08:41:20 +0800
commita24e3b583ea2db3418f0c6ae1f12b07ca96531cc (patch)
treebab7cdf9200dcc7c340768fb7dc6690804ed63b3 /drivers/crypto
parente63df1ec9a16dd9e13e9068243e64876de06f795 (diff)
downloadlinux-a24e3b583ea2db3418f0c6ae1f12b07ca96531cc.tar.gz
crypto: rockchip - fix to check return value
crypto_engine_alloc_init may fail, e.g., as result of a fail of devm_kzalloc or kthread_create_worker. Other drivers (e.g., amlogic-gxl-core.c, aspeed-acry.c, aspeed-hace.c, jr.c, etc.) check crypto_engine_alloc_init's return value and return -ENOMEM in case a NULL pointer is returned. This patch inserts a corresponding return value check to rk3288_crypto.c. Signed-off-by: Kilian Zinnecker <kilian.zinnecker@mail.de> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto')
-rw-r--r--drivers/crypto/rockchip/rk3288_crypto.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/crypto/rockchip/rk3288_crypto.c b/drivers/crypto/rockchip/rk3288_crypto.c
index 70edf40bc523c..f74b3c81ba6df 100644
--- a/drivers/crypto/rockchip/rk3288_crypto.c
+++ b/drivers/crypto/rockchip/rk3288_crypto.c
@@ -371,6 +371,11 @@ static int rk_crypto_probe(struct platform_device *pdev)
}
crypto_info->engine = crypto_engine_alloc_init(&pdev->dev, true);
+ if (!crypto_info->engine) {
+ err = -ENOMEM;
+ goto err_crypto;
+ }
+
crypto_engine_start(crypto_info->engine);
init_completion(&crypto_info->complete);