app/crypto-perf: fix uninitialized values for null ops
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: f8be1786b1
("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>
This commit is contained in:
parent
5e66937631
commit
884ed3ff8e
@ -333,6 +333,9 @@ cperf_create_session(uint8_t dev_id,
|
||||
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 @@ cperf_create_session(uint8_t dev_id,
|
||||
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 @@ cperf_create_session(uint8_t dev_id,
|
||||
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 @@ cperf_create_session(uint8_t dev_id,
|
||||
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 @@ cperf_test_vector_get_dummy(struct cperf_options *options)
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user