[v3 1/2] crypto/qat: fix CCM request descriptor hash_state_sz field
Emma Finn
emma.finn at intel.com
Wed Nov 12 11:19:10 CET 2025
The hash_state_sz field in the QAT request descriptor for AES-CCM
operations was incorrectly set to the digest length. According to
the QAT firmware specification, this field should contain the
length of AAD in quadwords for CCM operations.
Fixes: ab56c4d9ed9a ("crypto/qat: support AES-CCM")
Signed-off-by: Emma Finn <emma.finn at intel.com>
---
v2:
* Updated to use 16-byte alignment.
v3:
* split into two patches.
---
drivers/crypto/qat/qat_sym_session.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/crypto/qat/qat_sym_session.c b/drivers/crypto/qat/qat_sym_session.c
index 98ab82ffb3..2ba4fc0a3a 100644
--- a/drivers/crypto/qat/qat_sym_session.c
+++ b/drivers/crypto/qat/qat_sym_session.c
@@ -2774,7 +2774,8 @@ static int qat_sym_cd_auth_set(struct qat_sym_session *cdesc,
hash->auth_counter.counter = 0;
hash_cd_ctrl->outer_prefix_sz = digestsize;
- auth_param->hash_state_sz = digestsize;
+ auth_param->hash_state_sz = (RTE_ALIGN_CEIL(auth_param->u2.aad_sz,
+ ICP_QAT_HW_CCM_AAD_ALIGNMENT) >> 3);
memcpy(cdesc->cd_cur_ptr + state1_size, authkey, authkeylen);
break;
--
2.34.1
More information about the dev
mailing list