Re: [PATCH 16/22] crypto: ccree - add check for xts input length equal to zero

From: Gilad Ben-Yossef
Date: Sat Aug 08 2020 - 08:12:20 EST


On Fri, Aug 7, 2020 at 7:22 PM Andrei Botila <andrei.botila@xxxxxxxxxxx> wrote:
>
> From: Andrei Botila <andrei.botila@xxxxxxx>
>
> Standardize the way input lengths equal to 0 are handled in all skcipher
> algorithms. All the algorithms return 0 for input lengths equal to zero.
> This change has implications not only for xts(aes) but also for cts(cbc(aes))
> and cts(cbc(paes)).
>
> Cc: Gilad Ben-Yossef <gilad@xxxxxxxxxxxxx>
> Signed-off-by: Andrei Botila <andrei.botila@xxxxxxx>
> ---
> drivers/crypto/ccree/cc_cipher.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/crypto/ccree/cc_cipher.c b/drivers/crypto/ccree/cc_cipher.c
> index 076669dc1035..112bb8b4dce6 100644
> --- a/drivers/crypto/ccree/cc_cipher.c
> +++ b/drivers/crypto/ccree/cc_cipher.c
> @@ -912,17 +912,18 @@ static int cc_cipher_process(struct skcipher_request *req,
>
> /* STAT_PHASE_0: Init and sanity checks */
>
> - if (validate_data_size(ctx_p, nbytes)) {
> - dev_dbg(dev, "Unsupported data size %d.\n", nbytes);
> - rc = -EINVAL;
> - goto exit_process;
> - }
> if (nbytes == 0) {
> /* No data to process is valid */
> rc = 0;
> goto exit_process;
> }
>
> + if (validate_data_size(ctx_p, nbytes)) {
> + dev_dbg(dev, "Unsupported data size %d.\n", nbytes);
> + rc = -EINVAL;
> + goto exit_process;
> + }
> +
> if (ctx_p->fallback_on) {
> struct skcipher_request *subreq = skcipher_request_ctx(req);
>
> --
> 2.17.1
>

Acked-by: Gilad Ben-Yossef <gilad@xxxxxxxxxxxxx>

Thanks,
Gilad

--
Gilad Ben-Yossef
Chief Coffee Drinker

values of β will give rise to dom!