Removed references to RTE_CRYPTO_CIPHER_LIST_END and
RTE_CRYPTO_AUTH_LIST_END.

Signed-off-by: Ruifeng Wang <ruifeng.w...@arm.com>
Reviewed-by: Phil Yang <phil.y...@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

Reply via email to