[dpdk-dev] [PATCH] app/crypto-perf: fix incorrect IV allocation

Pablo de Lara pablo.de.lara.guarch at intel.com
Tue Aug 1 02:33:36 CEST 2017


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 at 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



More information about the dev mailing list