app/crypto-perf: fix IV allocation for AEAD

Memory is reserved after each crypto operation
for the necessary IV(s), which could be for cipher,
authentication or AEAD algorithms.
However, for AEAD algorithms (such as AES-GCM), this
memory was not being reserved, leading to potential
memory overflow.

Fixes: 8a5b494a7f99 ("app/test-crypto-perf: add AEAD parameters")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
This commit is contained in:
Pablo de Lara 2017-08-01 01:33:36 +01:00 committed by Thomas Monjalon
parent 8820cba4d9
commit b27074cc94
3 changed files with 4 additions and 3 deletions

View File

@ -291,7 +291,8 @@ cperf_latency_test_constructor(struct rte_mempool *sess_mp,
uint16_t priv_size = sizeof(struct priv_op_data) +
test_vector->cipher_iv.length +
test_vector->auth_iv.length;
test_vector->auth_iv.length +
test_vector->aead_iv.length;
ctx->crypto_op_pool = rte_crypto_op_pool_create(pool_name,
RTE_CRYPTO_OP_TYPE_SYMMETRIC, options->pool_sz,
512, priv_size, rte_socket_id());

View File

@ -271,7 +271,7 @@ cperf_throughput_test_constructor(struct rte_mempool *sess_mp,
dev_id);
uint16_t priv_size = test_vector->cipher_iv.length +
test_vector->auth_iv.length;
test_vector->auth_iv.length + test_vector->aead_iv.length;
ctx->crypto_op_pool = rte_crypto_op_pool_create(pool_name,
RTE_CRYPTO_OP_TYPE_SYMMETRIC, options->pool_sz,

View File

@ -275,7 +275,7 @@ cperf_verify_test_constructor(struct rte_mempool *sess_mp,
dev_id);
uint16_t priv_size = test_vector->cipher_iv.length +
test_vector->auth_iv.length;
test_vector->auth_iv.length + test_vector->aead_iv.length;
ctx->crypto_op_pool = rte_crypto_op_pool_create(pool_name,
RTE_CRYPTO_OP_TYPE_SYMMETRIC, options->pool_sz,
512, priv_size, rte_socket_id());