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