X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Ffips_validation%2Ffips_dev_self_test.c;h=076e9de099c06b55b5cd5d9f76f5187025fd5ae9;hb=243e23bccc2ce02a6aaac77870d5db4ed0e3ec81;hp=df1c0e82e836ef5482ccae7883bc35e33ab7e81b;hpb=26e28801ee7d3a18221cc07c3e3e1aa4aad6e1a2;p=dpdk.git diff --git a/examples/fips_validation/fips_dev_self_test.c b/examples/fips_validation/fips_dev_self_test.c index df1c0e82e8..076e9de099 100644 --- a/examples/fips_validation/fips_dev_self_test.c +++ b/examples/fips_validation/fips_dev_self_test.c @@ -3,7 +3,7 @@ */ #include -#include +#include #include "fips_dev_self_test.h" @@ -1333,6 +1333,9 @@ check_cipher_result(struct rte_crypto_op *op, uint32_t len, src_len; int ret; + if (!mbuf) + return -1; + if (dir == self_test_dir_enc_auth_gen) { src = vec->output.data; src_len = vec->output.len; @@ -1342,7 +1345,7 @@ check_cipher_result(struct rte_crypto_op *op, } GET_MBUF_DATA(data, len, mbuf); - if (!data && !len) + if (!len) return -1; ret = memcmp(data, src, src_len); @@ -1362,8 +1365,11 @@ check_auth_result(struct rte_crypto_op *op, uint32_t len; int ret; + if (mbuf == NULL) + return -1; + GET_MBUF_DATA(data, len, mbuf); - if (!data && !len) + if (!len) return -1; if (dir == self_test_dir_enc_auth_gen) { @@ -1387,8 +1393,10 @@ check_aead_result(struct rte_crypto_op *op, uint32_t len, src_len; int ret; - if (op->sym->aead.aad.data) - rte_free(op->sym->aead.aad.data); + if (!mbuf) + return -1; + + rte_free(op->sym->aead.aad.data); if (dir == self_test_dir_enc_auth_gen) { src = vec->output.data; @@ -1399,7 +1407,7 @@ check_aead_result(struct rte_crypto_op *op, } GET_MBUF_DATA(data, len, mbuf); - if (!data && !len) + if (!len) return -1; ret = memcmp(data, src, src_len); @@ -1514,46 +1522,30 @@ static void fips_dev_auto_test_uninit(uint8_t dev_id, struct fips_dev_auto_test_env *env) { - struct rte_cryptodev *dev = rte_cryptodev_pmd_get_dev(dev_id); - uint32_t i; - - if (!dev) - return; - - if (env->mbuf) - rte_pktmbuf_free(env->mbuf); + rte_pktmbuf_free(env->mbuf); if (env->op) rte_crypto_op_free(env->op); - if (env->mpool) - rte_mempool_free(env->mpool); - if (env->op_pool) - rte_mempool_free(env->op_pool); - if (env->sess_pool) - rte_mempool_free(env->sess_pool); - if (env->sess_priv_pool) - rte_mempool_free(env->sess_priv_pool); - - if (dev->data->dev_started) - rte_cryptodev_stop(dev_id); - - if (dev->data->nb_queue_pairs) { - for (i = 0; i < dev->data->nb_queue_pairs; i++) - (*dev->dev_ops->queue_pair_release)(dev, i); - dev->data->nb_queue_pairs = 0; - rte_free(dev->data->queue_pairs); - dev->data->queue_pairs = NULL; - } + rte_mempool_free(env->mpool); + rte_mempool_free(env->op_pool); + rte_mempool_free(env->sess_pool); + rte_mempool_free(env->sess_priv_pool); + + rte_cryptodev_stop(dev_id); } static int fips_dev_auto_test_init(uint8_t dev_id, struct fips_dev_auto_test_env *env) { - struct rte_cryptodev_config conf = {rte_cryptodev_socket_id(dev_id), 1}; struct rte_cryptodev_qp_conf qp_conf = {128, NULL, NULL}; uint32_t sess_sz = rte_cryptodev_sym_get_private_session_size(dev_id); + struct rte_cryptodev_config conf; char name[128]; int ret; + conf.socket_id = rte_cryptodev_socket_id(dev_id); + conf.nb_queue_pairs = 1; + conf.ff_disable = 0; + ret = rte_cryptodev_configure(dev_id, &conf); if (ret < 0) return ret;