[dpdk-dev] app/crypto-perf: fix uninitialized values for null operations
Checks
Commit Message
Some values are uninitialized for "cipher null" and "auth null"
operations. It may cause unpredictable results for some crypto pmd
drivers, or even segmentation fault.
This patch sets values for null operations to zero.
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
---
app/test-crypto-perf/cperf_ops.c | 16 ++++++++++++++++
app/test-crypto-perf/cperf_test_vectors.c | 2 +-
2 files changed, 17 insertions(+), 1 deletion(-)
Comments
> -----Original Message-----
> From: Kulasek, TomaszX
> Sent: Friday, February 24, 2017 3:26 PM
> To: dev@dpdk.org
> Cc: De Lara Guarch, Pablo
> Subject: [PATCH] app/crypto-perf: fix uninitialized values for null operations
>
> Some values are uninitialized for "cipher null" and "auth null"
> operations. It may cause unpredictable results for some crypto pmd
> drivers, or even segmentation fault.
>
> This patch sets values for null operations to zero.
>
> Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test
> application")
> Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of De Lara Guarch,
> Pablo
> Sent: Monday, March 06, 2017 2:08 PM
> To: Kulasek, TomaszX; dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] app/crypto-perf: fix uninitialized values for
> null operations
>
>
>
> > -----Original Message-----
> > From: Kulasek, TomaszX
> > Sent: Friday, February 24, 2017 3:26 PM
> > To: dev@dpdk.org
> > Cc: De Lara Guarch, Pablo
> > Subject: [PATCH] app/crypto-perf: fix uninitialized values for null
> operations
> >
> > Some values are uninitialized for "cipher null" and "auth null"
> > operations. It may cause unpredictable results for some crypto pmd
> > drivers, or even segmentation fault.
> >
> > This patch sets values for null operations to zero.
> >
> > Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test
> > application")
> > Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
>
> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
>
Applied to dpdk-next-crypto.
Thanks,
Pablo
@@ -333,6 +333,9 @@
test_vector->cipher_key.data;
cipher_xform.cipher.key.length =
test_vector->cipher_key.length;
+ } else {
+ cipher_xform.cipher.key.data = NULL;
+ cipher_xform.cipher.key.length = 0;
}
/* create crypto session */
sess = rte_cryptodev_sym_session_create(dev_id, &cipher_xform);
@@ -354,6 +357,11 @@
auth_xform.auth.key.length =
test_vector->auth_key.length;
auth_xform.auth.key.data = test_vector->auth_key.data;
+ } else {
+ auth_xform.auth.digest_length = 0;
+ auth_xform.auth.add_auth_data_length = 0;
+ auth_xform.auth.key.length = 0;
+ auth_xform.auth.key.data = NULL;
}
/* create crypto session */
sess = rte_cryptodev_sym_session_create(dev_id, &auth_xform);
@@ -378,6 +386,9 @@
test_vector->cipher_key.data;
cipher_xform.cipher.key.length =
test_vector->cipher_key.length;
+ } else {
+ cipher_xform.cipher.key.data = NULL;
+ cipher_xform.cipher.key.length = 0;
}
/*
@@ -404,6 +415,11 @@
auth_xform.auth.key.data =
test_vector->auth_key.data;
}
+ } else {
+ auth_xform.auth.digest_length = 0;
+ auth_xform.auth.add_auth_data_length = 0;
+ auth_xform.auth.key.length = 0;
+ auth_xform.auth.key.data = NULL;
}
/* create crypto session for aes gcm */
@@ -406,7 +406,7 @@ struct cperf_test_vector*
options->op_type == CPERF_AUTH_THEN_CIPHER ||
options->op_type == CPERF_AEAD) {
if (options->cipher_algo == RTE_CRYPTO_CIPHER_NULL) {
- t_vec->cipher_key.length = -1;
+ t_vec->cipher_key.length = 0;
t_vec->ciphertext.data = plaintext;
t_vec->cipher_key.data = NULL;
t_vec->iv.data = NULL;