[dpdk-stable] patch 'crypto/qat: fix block size error handling' has been queued to LTS release 17.11.6

Yongseok Koh yskoh at mellanox.com
Fri Mar 8 18:46:51 CET 2019


Hi,

FYI, your patch has been queued to LTS release 17.11.6

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 03/13/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Yongseok

---
>From eee8f9986f01de6e517ea71d624dbc2de653e48b Mon Sep 17 00:00:00 2001
From: Arek Kusztal <arkadiuszx.kusztal at intel.com>
Date: Wed, 12 Dec 2018 20:59:02 +0100
Subject: [PATCH] crypto/qat: fix block size error handling

[ upstream commit 93685b1fbf37d508032a4d640b67cd63075f93b9 ]

Error code of qat_hash_get_block_size needs to be handle properly.

Fixes: 10b49880e3c5 ("crypto/qat: make the session struct variable in size")

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal at intel.com>
Acked-by: Fiona Trahe <fiona.trahe at intel.com>
Tested-by: Marko Kovacevic <marko.kovacevic at intel.com>
Acked-by: Marko Kovacevic <marko.kovacevic at intel.com>
---
 drivers/crypto/qat/qat_adf/qat_algs_build_desc.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c b/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c
index 26f854c21..b9393810b 100644
--- a/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c
+++ b/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c
@@ -413,8 +413,8 @@ static int qat_alg_do_precomputes(enum icp_qat_hw_auth_algo hash_alg,
 	}
 
 	block_size = qat_hash_get_block_size(hash_alg);
-	if (block_size <= 0)
-		return -EFAULT;
+	if (block_size < 0)
+		return block_size;
 	/* init ipad and opad from key and xor with fixed values */
 	memset(ipad, 0, block_size);
 	memset(opad, 0, block_size);
@@ -753,9 +753,13 @@ int qat_alg_aead_session_create_content_desc_auth(struct qat_session *cdesc,
 		|| cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_KASUMI_F9
 		|| cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_ZUC_3G_128_EIA3)
 		hash->auth_counter.counter = 0;
-	else
-		hash->auth_counter.counter = rte_bswap32(
-				qat_hash_get_block_size(cdesc->qat_hash_alg));
+	else {
+		int block_size = qat_hash_get_block_size(cdesc->qat_hash_alg);
+
+		if (block_size < 0)
+			return block_size;
+		hash->auth_counter.counter = rte_bswap32(block_size);
+	}
 
 	cdesc->cd_cur_ptr += sizeof(struct icp_qat_hw_auth_setup);
 
-- 
2.11.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-03-08 09:46:41.024514050 -0800
+++ 0013-crypto-qat-fix-block-size-error-handling.patch	2019-03-08 09:46:40.011398000 -0800
@@ -1,26 +1,27 @@
-From 93685b1fbf37d508032a4d640b67cd63075f93b9 Mon Sep 17 00:00:00 2001
+From eee8f9986f01de6e517ea71d624dbc2de653e48b Mon Sep 17 00:00:00 2001
 From: Arek Kusztal <arkadiuszx.kusztal at intel.com>
 Date: Wed, 12 Dec 2018 20:59:02 +0100
 Subject: [PATCH] crypto/qat: fix block size error handling
 
+[ upstream commit 93685b1fbf37d508032a4d640b67cd63075f93b9 ]
+
 Error code of qat_hash_get_block_size needs to be handle properly.
 
 Fixes: 10b49880e3c5 ("crypto/qat: make the session struct variable in size")
-Cc: stable at dpdk.org
 
 Signed-off-by: Arek Kusztal <arkadiuszx.kusztal at intel.com>
 Acked-by: Fiona Trahe <fiona.trahe at intel.com>
 Tested-by: Marko Kovacevic <marko.kovacevic at intel.com>
 Acked-by: Marko Kovacevic <marko.kovacevic at intel.com>
 ---
- drivers/crypto/qat/qat_sym_session.c | 14 +++++++++-----
+ drivers/crypto/qat/qat_adf/qat_algs_build_desc.c | 14 +++++++++-----
  1 file changed, 9 insertions(+), 5 deletions(-)
 
-diff --git a/drivers/crypto/qat/qat_sym_session.c b/drivers/crypto/qat/qat_sym_session.c
-index 8196e2333..272177f0a 100644
---- a/drivers/crypto/qat/qat_sym_session.c
-+++ b/drivers/crypto/qat/qat_sym_session.c
-@@ -1143,8 +1143,8 @@ static int qat_sym_do_precomputes(enum icp_qat_hw_auth_algo hash_alg,
+diff --git a/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c b/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c
+index 26f854c21..b9393810b 100644
+--- a/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c
++++ b/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c
+@@ -413,8 +413,8 @@ static int qat_alg_do_precomputes(enum icp_qat_hw_auth_algo hash_alg,
  	}
  
  	block_size = qat_hash_get_block_size(hash_alg);
@@ -31,9 +32,9 @@
  	/* init ipad and opad from key and xor with fixed values */
  	memset(ipad, 0, block_size);
  	memset(opad, 0, block_size);
-@@ -1490,9 +1490,13 @@ int qat_sym_session_aead_create_cd_auth(struct qat_sym_session *cdesc,
- 		|| cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_AES_XCBC_MAC
- 			)
+@@ -753,9 +753,13 @@ int qat_alg_aead_session_create_content_desc_auth(struct qat_session *cdesc,
+ 		|| cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_KASUMI_F9
+ 		|| cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_ZUC_3G_128_EIA3)
  		hash->auth_counter.counter = 0;
 -	else
 -		hash->auth_counter.counter = rte_bswap32(


More information about the stable mailing list