linux-crypto.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Herbert Xu <herbert@gondor.apana.org.au>
To: Li kunyu <kunyu@nfschina.com>, Linus Walleij <linus.walleij@linaro.org>
Cc: davem@davemloft.net, mcoquelin.stm32@gmail.com,
	linux-crypto@vger.kernel.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] stm32: stm32-hash: Add kmalloc_array allocation check
Date: Thu, 23 Feb 2023 14:00:39 +0800	[thread overview]
Message-ID: <Y/cBB+q0Ono9j2Jy@gondor.apana.org.au> (raw)
In-Reply-To: <20230224215019.3687-1-kunyu@nfschina.com>

On Sat, Feb 25, 2023 at 05:50:19AM +0800, Li kunyu wrote:
> If rctx->hw_context allocation of the context pointer failed. Returning
> -ENOMEM and assigning NULL to the out pointer should improve the
> robustness of the function.
> 
> Signed-off-by: Li kunyu <kunyu@nfschina.com>
> ---
>  drivers/crypto/stm32/stm32-hash.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/crypto/stm32/stm32-hash.c b/drivers/crypto/stm32/stm32-hash.c
> index d33006d43f76..18e79f62be96 100644
> --- a/drivers/crypto/stm32/stm32-hash.c
> +++ b/drivers/crypto/stm32/stm32-hash.c
> @@ -970,6 +970,10 @@ 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 == NULL) {
> +		out = NULL;
> +		return -ENOMEM;
> +	}
>  
>  	preg = rctx->hw_context;

Shouldn't we free the hw_context at the end of the function?

Why does it even need to be stored in rctx in the first place?

Thanks,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

  reply	other threads:[~2023-02-23  6:01 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-24 21:50 [PATCH] stm32: stm32-hash: Add kmalloc_array allocation check Li kunyu
2023-02-23  6:00 ` Herbert Xu [this message]
2023-02-24 23:14   ` Li kunyu
2023-02-23  9:33     ` Herbert Xu
2023-02-23  9:52       ` Linus Walleij
2023-02-23 10:10         ` [PATCH] crypto: stm32 - Save and restore between each request Herbert Xu
2023-02-24  5:51           ` [v2 PATCH] " Herbert Xu
2023-02-25  0:01             ` Linus Walleij
2023-02-25  2:26               ` Li kunyu
2023-02-25 23:15               ` Linus Walleij
2023-02-27 10:39             ` [v3 " Herbert Xu
2023-02-27 21:17               ` Linus Walleij
2023-02-27 21:28                 ` Linus Walleij
2023-02-28  8:58                   ` Herbert Xu
2023-02-28  9:12                 ` Herbert Xu
2023-02-28  9:23                   ` Herbert Xu
2023-02-28  9:48                     ` [v4 " Herbert Xu
2023-02-28 20:50                       ` Linus Walleij
2023-03-01  1:30                         ` Herbert Xu
2023-03-01  1:36                         ` Herbert Xu
2023-03-01  1:46                           ` Herbert Xu
2023-03-01 12:22                           ` Linus Walleij
2023-03-02  1:16                             ` Herbert Xu
2023-03-02  6:04                             ` Herbert Xu
2023-03-04  9:34                               ` [v5 PATCH 0/7] " Herbert Xu
2023-03-04  9:37                                 ` [v5 PATCH 1/7] crypto: stm32 - Save 54 CSR registers Herbert Xu
2023-03-05 21:48                                   ` Linus Walleij
2023-03-04  9:37                                 ` [v5 PATCH 2/7] crypto: stm32 - Move polling into do_one_request Herbert Xu
2023-03-05 21:51                                   ` Linus Walleij
2023-03-04  9:37                                 ` [v5 PATCH 3/7] crypto: stm32 - Simplify finup Herbert Xu
2023-03-05 22:08                                   ` Linus Walleij
2023-03-06  4:37                                     ` Herbert Xu
2023-03-04  9:37                                 ` [v5 PATCH 4/7] crypto: stm32 - Remove unused hdev->err field Herbert Xu
2023-03-05 22:11                                   ` Linus Walleij
2023-03-04  9:37                                 ` [v5 PATCH 5/7] crypto: stm32 - Move hash state into separate structure Herbert Xu
2023-03-04  9:37                                 ` [v5 PATCH 6/7] crypto: stm32 - Remove unused HASH_FLAGS_ERRORS Herbert Xu
2023-03-04  9:37                                 ` [v5 PATCH 7/7] crypto: stm32 - Save and restore between each request Herbert Xu
2023-03-06  4:41                                 ` [v6 PATCH 0/7] " Herbert Xu
2023-03-06  4:41                                   ` [v5 PATCH 1/7] crypto: stm32 - Save 54 CSR registers Herbert Xu
2023-03-06  4:42                                   ` [v5 PATCH 2/7] crypto: stm32 - Move polling into do_one_request Herbert Xu
2023-03-06  4:42                                   ` [v5 PATCH 3/7] crypto: stm32 - Simplify finup Herbert Xu
2023-03-06  8:28                                     ` Linus Walleij
2023-03-06  4:42                                   ` [v5 PATCH 4/7] crypto: stm32 - Remove unused hdev->err field Herbert Xu
2023-03-06  4:42                                   ` [v5 PATCH 5/7] crypto: stm32 - Move hash state into separate structure Herbert Xu
2023-03-06  9:59                                     ` Linus Walleij
2023-03-06  4:42                                   ` [v5 PATCH 6/7] crypto: stm32 - Remove unused HASH_FLAGS_ERRORS Herbert Xu
2023-03-06 10:01                                     ` Linus Walleij
2023-03-06  4:42                                   ` [v5 PATCH 7/7] crypto: stm32 - Save and restore between each request Herbert Xu
2023-03-06 10:08                                     ` Linus Walleij
2023-03-07 10:10                                       ` Herbert Xu
2023-03-07 15:31                                         ` Linus Walleij
2023-03-08  3:23                                           ` Herbert Xu
2023-03-08  3:40                                             ` Herbert Xu
2023-03-08  3:52                                               ` Herbert Xu
2023-03-08  9:05                                               ` Linus Walleij
2023-03-08  9:13                                                 ` Herbert Xu
2023-03-08 10:10                                                 ` Herbert Xu
2023-03-08 10:19                                                   ` Herbert Xu
2023-03-08 21:19                                                     ` Linus Walleij
2023-03-09  5:58                                                       ` Herbert Xu
2023-03-09  7:35                                                         ` Linus Walleij
2023-03-09  9:59                                                           ` Herbert Xu
2023-03-09 22:19                                                           ` David Laight
2023-03-10  8:07                                                             ` Linus Walleij
2023-03-07 13:55                                   ` [v6 PATCH 0/7] " lionel.debieve
2023-03-08  3:46                                     ` Herbert Xu
2023-03-11  9:08                                   ` [v7 PATCH 0/8] " Herbert Xu
2023-03-11  9:09                                     ` [v7 PATCH 1/8] crypto: stm32 - Save 54 CSR registers Herbert Xu
2023-03-11  9:09                                     ` [v7 PATCH 2/8] crypto: stm32 - Move polling into do_one_request Herbert Xu
2023-03-11  9:09                                     ` [v7 PATCH 3/8] crypto: stm32 - Simplify finup Herbert Xu
2023-03-11  9:09                                     ` [v7 PATCH 4/8] crypto: stm32 - Remove unused hdev->err field Herbert Xu
2023-03-11  9:09                                     ` [v7 PATCH 5/8] crypto: stm32 - Move hash state into separate structure Herbert Xu
2023-03-11  9:09                                     ` [v7 PATCH 6/8] crypto: stm32 - Remove unused HASH_FLAGS_ERRORS Herbert Xu
2023-03-11  9:09                                     ` [v7 PATCH 7/8] crypto: stm32 - Fix empty message processing Herbert Xu
2023-03-11 21:44                                       ` Linus Walleij
2023-03-11  9:09                                     ` [v7 PATCH 8/8] crypto: stm32 - Save and restore between each request Herbert Xu
2023-03-11 21:45                                       ` Linus Walleij
     [not found]                                       ` <e7cd1e8b-9ebc-ff6d-a8c4-1ccd11df6de1@foss.st.com>
2023-03-28  3:58                                         ` [Linux-stm32] " Herbert Xu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y/cBB+q0Ono9j2Jy@gondor.apana.org.au \
    --to=herbert@gondor.apana.org.au \
    --cc=davem@davemloft.net \
    --cc=kunyu@nfschina.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=mcoquelin.stm32@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).