patch 'crypto/qat: fix null hash algorithm digest size' has been queued to stable release 20.11.7

luca.boccassi at gmail.com luca.boccassi at gmail.com
Sat Nov 5 18:11:46 CET 2022


Hi,

FYI, your patch has been queued to stable release 20.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 11/07/22. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/15c061fa8a0637c00e6516762849b8bde4046358

Thanks.

Luca Boccassi

---
>From 15c061fa8a0637c00e6516762849b8bde4046358 Mon Sep 17 00:00:00 2001
From: Brian Dooley <brian.dooley at intel.com>
Date: Thu, 27 Oct 2022 10:50:14 +0000
Subject: [PATCH] crypto/qat: fix null hash algorithm digest size

[ upstream commit 7283c59e37b114e692a379234a9d34f0d2c538e7 ]

Add check for null hash algorithm digest size.
Digest size should be 4B or request will be rejected.

Fixes: 1703e94ac5ce ("qat: add driver for QuickAssist devices")

Signed-off-by: Brian Dooley <brian.dooley at intel.com>
Acked-by: Ciara Power <ciara.power at intel.com>
---
 drivers/crypto/qat/qat_sym_session.c | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/drivers/crypto/qat/qat_sym_session.c b/drivers/crypto/qat/qat_sym_session.c
index 155d59d226..10db656316 100644
--- a/drivers/crypto/qat/qat_sym_session.c
+++ b/drivers/crypto/qat/qat_sym_session.c
@@ -1740,7 +1740,12 @@ int qat_sym_session_aead_create_cd_auth(struct qat_sym_session *cdesc,
 	hash_offset = cdesc->cd_cur_ptr-((uint8_t *)&cdesc->cd);
 	hash = (struct icp_qat_hw_auth_setup *)cdesc->cd_cur_ptr;
 	hash->auth_config.reserved = 0;
-	hash->auth_config.config =
+	if (cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_NULL)
+		hash->auth_config.config =
+			ICP_QAT_HW_AUTH_CONFIG_BUILD(cdesc->auth_mode,
+				cdesc->qat_hash_alg, 4);
+	else
+		hash->auth_config.config =
 			ICP_QAT_HW_AUTH_CONFIG_BUILD(cdesc->auth_mode,
 				cdesc->qat_hash_alg, digestsize);
 
@@ -2004,10 +2009,16 @@ int qat_sym_session_aead_create_cd_auth(struct qat_sym_session *cdesc,
 	/* Auth CD config setup */
 	hash_cd_ctrl->hash_cfg_offset = hash_offset >> 3;
 	hash_cd_ctrl->hash_flags = ICP_QAT_FW_AUTH_HDR_FLAG_NO_NESTED;
-	hash_cd_ctrl->inner_res_sz = digestsize;
-	hash_cd_ctrl->final_sz = digestsize;
 	hash_cd_ctrl->inner_state1_sz = state1_size;
-	auth_param->auth_res_sz = digestsize;
+	if (cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_NULL) {
+		hash_cd_ctrl->inner_res_sz = 4;
+		hash_cd_ctrl->final_sz = 4;
+		auth_param->auth_res_sz = 4;
+	} else {
+		hash_cd_ctrl->inner_res_sz = digestsize;
+		hash_cd_ctrl->final_sz = digestsize;
+		auth_param->auth_res_sz = digestsize;
+	}
 
 	hash_cd_ctrl->inner_state2_sz  = state2_size;
 	hash_cd_ctrl->inner_state2_offset = hash_cd_ctrl->hash_cfg_offset +
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-05 17:11:12.860388736 +0000
+++ 0047-crypto-qat-fix-null-hash-algorithm-digest-size.patch	2022-11-05 17:11:08.862946678 +0000
@@ -1 +1 @@
-From 7283c59e37b114e692a379234a9d34f0d2c538e7 Mon Sep 17 00:00:00 2001
+From 15c061fa8a0637c00e6516762849b8bde4046358 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7283c59e37b114e692a379234a9d34f0d2c538e7 ]
+
@@ -10 +11,0 @@
-Cc: stable at dpdk.org
@@ -19 +20 @@
-index 13a8d36e95..71fa595031 100644
+index 155d59d226..10db656316 100644
@@ -22 +23 @@
-@@ -2052,7 +2052,12 @@ int qat_sym_cd_auth_set(struct qat_sym_session *cdesc,
+@@ -1740,7 +1740,12 @@ int qat_sym_session_aead_create_cd_auth(struct qat_sym_session *cdesc,
@@ -36 +37 @@
-@@ -2420,10 +2425,16 @@ int qat_sym_cd_auth_set(struct qat_sym_session *cdesc,
+@@ -2004,10 +2009,16 @@ int qat_sym_session_aead_create_cd_auth(struct qat_sym_session *cdesc,


More information about the stable mailing list