[PATCH v1] crypto: stm32: Check for NULL return of kmalloc_array()

From: QintaoShen
Date: Thu Mar 24 2022 - 05:39:09 EST


As the potential failure of memory allocation, kmalloc_array() may return
NULL and lead to NULL pointer dereference because of the usage of 'rctx->hw_context'.

Therefore, it is better to check the return value of kmalloc_array().

Signed-off-by: QintaoShen <unSimple1993@xxxxxxx>
---
drivers/crypto/stm32/stm32-hash.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/crypto/stm32/stm32-hash.c b/drivers/crypto/stm32/stm32-hash.c
index d33006d..f1a1a13 100644
--- a/drivers/crypto/stm32/stm32-hash.c
+++ b/drivers/crypto/stm32/stm32-hash.c
@@ -970,7 +970,8 @@ static int stm32_hash_export(struct ahash_request *req, void *out)
rctx->hw_context = kmalloc_array(3 + HASH_CSR_REGISTER_NUMBER,
sizeof(u32),
GFP_KERNEL);
-
+ if (!rctx->hw_context)
+ return -ENOMEM;
preg = rctx->hw_context;

*preg++ = stm32_hash_read(hdev, HASH_IMR);
--
2.7.4