diff options
author | Kilian Zinnecker <kilian.zinnecker@mail.de> | 2024-02-18 23:16:58 +0100 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2024-02-24 08:41:20 +0800 |
commit | a24e3b583ea2db3418f0c6ae1f12b07ca96531cc (patch) | |
tree | bab7cdf9200dcc7c340768fb7dc6690804ed63b3 | |
parent | e63df1ec9a16dd9e13e9068243e64876de06f795 (diff) | |
download | lwn-a24e3b583ea2db3418f0c6ae1f12b07ca96531cc.tar.gz lwn-a24e3b583ea2db3418f0c6ae1f12b07ca96531cc.zip |
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>
-rw-r--r-- | drivers/crypto/rockchip/rk3288_crypto.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/crypto/rockchip/rk3288_crypto.c b/drivers/crypto/rockchip/rk3288_crypto.c index 70edf40bc523..f74b3c81ba6d 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); |