diff options
| author | Harsh Jain <h.jain@amd.com> | 2025-12-20 21:28:58 +0530 |
|---|---|---|
| committer | Herbert Xu <herbert@gondor.apana.org.au> | 2026-01-23 13:48:43 +0800 |
| commit | f939b88c7ca56cd307e351cef1683756835a7193 (patch) | |
| tree | 27b90f5a23c3a800c1fb9b3ef3336f15ea2420ee /drivers | |
| parent | 349f0d326d7c9262ac7644cb624ccbcbedd917f9 (diff) | |
crypto: xilinx - Avoid Encrypt request to fallback for authsize < 16
Encrypt requests can be handled by driver when authsize is less than 16.
Signed-off-by: Harsh Jain <h.jain@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/crypto/xilinx/zynqmp-aes-gcm.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/crypto/xilinx/zynqmp-aes-gcm.c b/drivers/crypto/xilinx/zynqmp-aes-gcm.c index e64316d9cabf..3b346a1c9f7e 100644 --- a/drivers/crypto/xilinx/zynqmp-aes-gcm.c +++ b/drivers/crypto/xilinx/zynqmp-aes-gcm.c @@ -150,7 +150,7 @@ static int zynqmp_aes_aead_cipher(struct aead_request *req) } } else { if (hwreq->op == ZYNQMP_AES_ENCRYPT) - data_size = data_size + ZYNQMP_AES_AUTH_SIZE; + data_size = data_size + crypto_aead_authsize(aead); else data_size = data_size - ZYNQMP_AES_AUTH_SIZE; @@ -178,8 +178,8 @@ static int zynqmp_fallback_check(struct zynqmp_aead_tfm_ctx *tfm_ctx, int need_fallback = 0; struct zynqmp_aead_req_ctx *rq_ctx = aead_request_ctx(req); - if (tfm_ctx->authsize != ZYNQMP_AES_AUTH_SIZE) - need_fallback = 1; + if (tfm_ctx->authsize != ZYNQMP_AES_AUTH_SIZE && rq_ctx->op == ZYNQMP_AES_DECRYPT) + return 1; if (tfm_ctx->keysrc == ZYNQMP_AES_KUP_KEY && tfm_ctx->keylen != ZYNQMP_AES_KEY_SIZE) { |
