[PATCH] crypto/qat: fix SM3 auth mode
Ciara Power
ciara.power at intel.com
Wed Mar 1 14:59:15 CET 2023
The SM3 auth mode is now set to 0 for QAT, to support plain hash only.
This should also be added to the capabilities for GEN3 and GEN4.
SM3 HMAC is not supported.
Fixes: 75fd4bbc94ab ("crypto/qat: support SM3 hash algorithm")
Cc: arkadiuszx.kusztal at intel.com
Cc: stable at dpdk.org
Signed-off-by: Ciara Power <ciara.power at intel.com>
---
drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c | 3 +++
drivers/crypto/qat/dev/qat_crypto_pmd_gen4.c | 3 +++
drivers/crypto/qat/qat_sym_session.c | 2 +-
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c b/drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c
index 5fa898dc8f..6013fed721 100644
--- a/drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c
+++ b/drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c
@@ -152,6 +152,9 @@ static struct rte_cryptodev_capabilities qat_sym_crypto_caps_gen3[] = {
QAT_SYM_CIPHER_CAP(SM4_CTR,
CAP_SET(block_size, 16),
CAP_RNG(key_size, 16, 16, 0), CAP_RNG(iv_size, 16, 16, 0)),
+ QAT_SYM_PLAIN_AUTH_CAP(SM3,
+ CAP_SET(block_size, 64),
+ CAP_RNG(digest_size, 32, 32, 0)),
RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
};
diff --git a/drivers/crypto/qat/dev/qat_crypto_pmd_gen4.c b/drivers/crypto/qat/dev/qat_crypto_pmd_gen4.c
index b1e5fa9a82..b219a418ba 100644
--- a/drivers/crypto/qat/dev/qat_crypto_pmd_gen4.c
+++ b/drivers/crypto/qat/dev/qat_crypto_pmd_gen4.c
@@ -100,6 +100,9 @@ static struct rte_cryptodev_capabilities qat_sym_crypto_caps_gen4[] = {
QAT_SYM_CIPHER_CAP(SM4_CTR,
CAP_SET(block_size, 16),
CAP_RNG(key_size, 16, 16, 0), CAP_RNG(iv_size, 16, 16, 0)),
+ QAT_SYM_PLAIN_AUTH_CAP(SM3,
+ CAP_SET(block_size, 64),
+ CAP_RNG(digest_size, 32, 32, 0)),
RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
};
diff --git a/drivers/crypto/qat/qat_sym_session.c b/drivers/crypto/qat/qat_sym_session.c
index 466482d225..6ad6c7ee3a 100644
--- a/drivers/crypto/qat/qat_sym_session.c
+++ b/drivers/crypto/qat/qat_sym_session.c
@@ -697,7 +697,7 @@ qat_sym_session_configure_auth(struct rte_cryptodev *dev,
switch (auth_xform->algo) {
case RTE_CRYPTO_AUTH_SM3:
session->qat_hash_alg = ICP_QAT_HW_AUTH_ALGO_SM3;
- session->auth_mode = ICP_QAT_HW_AUTH_MODE2;
+ session->auth_mode = ICP_QAT_HW_AUTH_MODE0;
break;
case RTE_CRYPTO_AUTH_SHA1:
session->qat_hash_alg = ICP_QAT_HW_AUTH_ALGO_SHA1;
--
2.25.1
More information about the stable
mailing list