From: Akhil R Date: Mon, 24 Feb 2025 09:16:08 +0000 (+0530) Subject: crypto: tegra - Set IV to NULL explicitly for AES ECB X-Git-Tag: v6.15-rc1~118^2~81 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bde558220866e74f19450e16d9a2472b488dfedf;p=thirdparty%2Fkernel%2Flinux.git crypto: tegra - Set IV to NULL explicitly for AES ECB It may happen that the variable req->iv may have stale values or zero sized buffer by default and may end up getting used during encryption/decryption. This inturn may corrupt the results or break the operation. Set the req->iv variable to NULL explicitly for algorithms like AES-ECB where IV is not used. Fixes: 0880bb3b00c8 ("crypto: tegra - Add Tegra Security Engine driver") Signed-off-by: Akhil R Signed-off-by: Herbert Xu --- diff --git a/drivers/crypto/tegra/tegra-se-aes.c b/drivers/crypto/tegra/tegra-se-aes.c index c3afa8344e4ad..a1b469c3a55ba 100644 --- a/drivers/crypto/tegra/tegra-se-aes.c +++ b/drivers/crypto/tegra/tegra-se-aes.c @@ -446,6 +446,9 @@ static int tegra_aes_crypt(struct skcipher_request *req, bool encrypt) if (!req->cryptlen) return 0; + if (ctx->alg == SE_ALG_ECB) + req->iv = NULL; + rctx->encrypt = encrypt; rctx->config = tegra234_aes_cfg(ctx->alg, encrypt); rctx->crypto_config = tegra234_aes_crypto_cfg(ctx->alg, encrypt);