Thread (33 messages) 33 messages, 8 authors, 2020-08-12

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

From: Gilad Ben-Yossef <gilad@benyossef.com>
Date: 2020-08-08 12:10:57
Also in: linux-arm-kernel, linux-crypto, linux-s390, lkml

On Fri, Aug 7, 2020 at 7:22 PM Andrei Botila [off-list ref] wrote:
quoted hunk ↗ jump to hunk
From: Andrei Botila <redacted>

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@benyossef.com>
Signed-off-by: Andrei Botila <redacted>
---
 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@benyossef.com>

Thanks,
Gilad

-- 
Gilad Ben-Yossef
Chief Coffee Drinker

values of β will give rise to dom!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help