From 8f0fcc68f0079094802eb89eb255d028420cf2ce Mon Sep 17 00:00:00 2001 From: Akhil R Date: Tue, 1 Apr 2025 09:48:18 +0530 Subject: [PATCH] crypto: tegra: Do not use IV 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 in turn may corrupt the results or break the operation. Ensure not use IV for algorithms like AES ECB where IV is not expected. Bug 4883011 Change-Id: I309ad26f99fe54005ff71b270b3b115dc62ac168 Signed-off-by: Akhil R Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3330469 Reviewed-by: svcacv Reviewed-by: Laxman Dewangan GVS: buildbot_gerritrpt --- drivers/crypto/tegra/tegra-se-aes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/crypto/tegra/tegra-se-aes.c b/drivers/crypto/tegra/tegra-se-aes.c index 25c06b4d..0e0ece65 100644 --- a/drivers/crypto/tegra/tegra-se-aes.c +++ b/drivers/crypto/tegra/tegra-se-aes.c @@ -326,7 +326,7 @@ static int tegra_aes_do_one_req(struct crypto_engine *engine, void *areq) goto key2_free; } - rctx->iv = (u32 *)req->iv; + rctx->iv = (ctx->alg == SE_ALG_ECB) ? NULL : (u32 *)req->iv; rctx->len = req->cryptlen; /* Pad input to AES Block size */