[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