DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] crypto/armv8: remove crypto enum list end references
@ 2020-09-18  5:45 Ruifeng Wang
  2020-10-09 19:52 ` Akhil Goyal
  0 siblings, 1 reply; 2+ messages in thread
From: Ruifeng Wang @ 2020-09-18  5:45 UTC (permalink / raw)
  To: Ruifeng Wang
  Cc: dev, arkadiuszx.kusztal, akhil.goyal, honnappa.nagarahalli, nd

Removed references to RTE_CRYPTO_CIPHER_LIST_END and
RTE_CRYPTO_AUTH_LIST_END.

Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
---
This is follow up of cryptodev change:
http://patches.dpdk.org/patch/76330/
 drivers/crypto/armv8/armv8_pmd_private.h | 6 ++----
 drivers/crypto/armv8/rte_armv8_pmd.c     | 9 ++++++---
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/crypto/armv8/armv8_pmd_private.h b/drivers/crypto/armv8/armv8_pmd_private.h
index 66b03fb92..75ddba79c 100644
--- a/drivers/crypto/armv8/armv8_pmd_private.h
+++ b/drivers/crypto/armv8/armv8_pmd_private.h
@@ -70,11 +70,9 @@ enum armv8_crypto_auth_mode {
 	ARMV8_CRYPTO_AUTH_LIST_END = ARMV8_CRYPTO_AUTH_NOT_SUPPORTED
 };
 
-#define CRYPTO_ORDER_MAX		ARMV8_CRYPTO_CHAIN_LIST_END
-#define CRYPTO_CIPHER_OP_MAX		ARMV8_CRYPTO_CIPHER_OP_LIST_END
 #define CRYPTO_CIPHER_KEYLEN_MAX	ARMV8_CRYPTO_CIPHER_KEYLEN_LIST_END
-#define CRYPTO_CIPHER_MAX		RTE_CRYPTO_CIPHER_LIST_END
-#define CRYPTO_AUTH_MAX			RTE_CRYPTO_AUTH_LIST_END
+#define CRYPTO_CIPHER_MAX		(RTE_CRYPTO_CIPHER_AES_ECB + 1)
+#define CRYPTO_AUTH_MAX			(RTE_CRYPTO_AUTH_SHA512_HMAC + 1)
 
 #define HMAC_IPAD_VALUE			(0x36)
 #define HMAC_OPAD_VALUE			(0x5C)
diff --git a/drivers/crypto/armv8/rte_armv8_pmd.c b/drivers/crypto/armv8/rte_armv8_pmd.c
index c95729db5..c3db711b7 100644
--- a/drivers/crypto/armv8/rte_armv8_pmd.c
+++ b/drivers/crypto/armv8/rte_armv8_pmd.c
@@ -143,7 +143,8 @@ crypto_chain_order[] = {
 	crypto_func_tbl_t *func_tbl =					\
 				(crypto_chain_order[(order)])[(cop)];	\
 									\
-	((*func_tbl)[(calg)][(aalg)][KEYL(keyl)]);		\
+	((calg >= CRYPTO_CIPHER_MAX) || (aalg >= CRYPTO_AUTH_MAX)) ?	\
+		NULL : ((*func_tbl)[(calg)][(aalg)][KEYL(keyl)]);	\
 })
 
 /*----------------------------------------------------------------------------*/
@@ -188,7 +189,8 @@ crypto_key_sched_dir[] = {
 ({									\
 	crypto_key_sched_tbl_t *ks_tbl = crypto_key_sched_dir[(cop)];	\
 									\
-	((*ks_tbl)[(calg)][KEYL(keyl)]);				\
+	(calg >= CRYPTO_CIPHER_MAX) ?					\
+		NULL : ((*ks_tbl)[(calg)][KEYL(keyl)]);			\
 })
 
 /*----------------------------------------------------------------------------*/
@@ -436,7 +438,8 @@ armv8_crypto_set_session_chained_parameters(struct armv8_crypto_session *sess,
 		return -ENOTSUP;
 	}
 
-	if (unlikely(sess->crypto_func == NULL)) {
+	if (unlikely(sess->crypto_func == NULL ||
+		sess->cipher.key_sched == NULL)) {
 		/*
 		 * If we got here that means that there must be a bug
 		 * in the algorithms selection above. Nevertheless keep
-- 
2.17.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-10-09 19:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-18  5:45 [dpdk-dev] [PATCH] crypto/armv8: remove crypto enum list end references Ruifeng Wang
2020-10-09 19:52 ` Akhil Goyal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).