From: Andrei Botila <andrei.bot...@nxp.com>

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.

Cc: Srikanth Jampala <jsrika...@marvell.com>
Cc: Nagadheeraj Rottela <rnagadhee...@marvell.com>
Signed-off-by: Andrei Botila <andrei.bot...@nxp.com>
---
 drivers/crypto/cavium/nitrox/nitrox_skcipher.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/crypto/cavium/nitrox/nitrox_skcipher.c 
b/drivers/crypto/cavium/nitrox/nitrox_skcipher.c
index a553ac65f324..d76589ebe354 100644
--- a/drivers/crypto/cavium/nitrox/nitrox_skcipher.c
+++ b/drivers/crypto/cavium/nitrox/nitrox_skcipher.c
@@ -249,10 +249,16 @@ static int nitrox_skcipher_crypt(struct skcipher_request 
*skreq, bool enc)
        struct crypto_skcipher *cipher = crypto_skcipher_reqtfm(skreq);
        struct nitrox_crypto_ctx *nctx = crypto_skcipher_ctx(cipher);
        struct nitrox_kcrypt_request *nkreq = skcipher_request_ctx(skreq);
+       struct crypto_tfm *tfm = crypto_skcipher_tfm(cipher);
        int ivsize = crypto_skcipher_ivsize(cipher);
        struct se_crypto_request *creq;
+       const char *name;
        int ret;
 
+       name = crypto_tfm_alg_name(tfm);
+       if (!skreq->cryptlen && flexi_cipher_type(name) == CIPHER_AES_XTS)
+               return 0;
+
        creq = &nkreq->creq;
        creq->flags = skreq->base.flags;
        creq->gfp = (skreq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ?
-- 
2.17.1

Reply via email to