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.gua...@intel.com> --- app/test-crypto-perf/cperf_test_latency.c | 3 ++- app/test-crypto-perf/cperf_test_throughput.c | 2 +- app/test-crypto-perf/cperf_test_verify.c | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/test-crypto-perf/cperf_test_latency.c b/app/test-crypto-perf/cperf_test_latency.c index 20e9686..7e610d9 100644 --- a/app/test-crypto-perf/cperf_test_latency.c +++ b/app/test-crypto-perf/cperf_test_latency.c @@ -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()); diff --git a/app/test-crypto-perf/cperf_test_throughput.c b/app/test-crypto-perf/cperf_test_throughput.c index 85ed21a..3bb1cb0 100644 --- a/app/test-crypto-perf/cperf_test_throughput.c +++ b/app/test-crypto-perf/cperf_test_throughput.c @@ -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, diff --git a/app/test-crypto-perf/cperf_test_verify.c b/app/test-crypto-perf/cperf_test_verify.c index 1827e6f..a314646 100644 --- a/app/test-crypto-perf/cperf_test_verify.c +++ b/app/test-crypto-perf/cperf_test_verify.c @@ -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()); -- 2.9.4