[dpdk-dev,06/22] crypto/qat: fix auth parameters for KASUMI
Checks
Commit Message
QAT PMD was assuming that cipher IV was always prepended,
before the input buffer, but it is not necessary to have it
there, only the auth IV and the input buffer needs to be
contiguous.
It was also assuming that the IV was starting at offset 0,
which is not always the case.
Fixes: d4f2745300e0 ("crypto/qat: add KASUMI")
CC: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
drivers/crypto/qat/qat_crypto.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
@@ -1011,14 +1011,9 @@ qat_write_hw_desc_entry(struct rte_crypto_op *op, uint8_t *out_msg,
if (ctx->qat_hash_alg ==
ICP_QAT_HW_AUTH_ALGO_KASUMI_F9) {
- if (do_cipher) {
- auth_len = auth_len + auth_ofs + 1 -
- ICP_QAT_HW_KASUMI_BLK_SZ;
- auth_ofs = ICP_QAT_HW_KASUMI_BLK_SZ;
- } else {
- auth_len = auth_len + auth_ofs + 1;
- auth_ofs = 0;
- }
+ /* Auth IV and message is contiguous + direction bit */
+ auth_len = auth_len + ICP_QAT_HW_KASUMI_BLK_SZ + 1;
+ auth_ofs -= ICP_QAT_HW_KASUMI_BLK_SZ;
}
} else if (ctx->qat_hash_alg ==