crypto/ipsec_mb: fix tainted data for session

Downcasting a void * to struct aesni_gcm_session * caused the session
data to be treated as tainted.
Removing the void * temporary variable and adding a cast avoids this
issue.

Coverity issue: 374377
Fixes: 746825e5c0 ("crypto/ipsec_mb: move aesni_gcm PMD")
Cc: stable@dpdk.org

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
This commit is contained in:
Ciara Power 2021-12-10 14:09:52 +00:00 committed by Akhil Goyal
parent 581c39b1cb
commit 21bdbf2432

View File

@ -713,19 +713,17 @@ aesni_gcm_process_bulk(struct rte_cryptodev *dev,
__rte_unused union rte_crypto_sym_ofs ofs,
struct rte_crypto_sym_vec *vec)
{
void *sess_priv;
struct aesni_gcm_session *s;
struct gcm_context_data gdata_ctx;
IMB_MGR *mb_mgr;
sess_priv = get_sym_session_private_data(sess, dev->driver_id);
if (unlikely(sess_priv == NULL)) {
s = (struct aesni_gcm_session *) get_sym_session_private_data(sess,
dev->driver_id);
if (unlikely(s == NULL)) {
aesni_gcm_fill_error_code(vec, EINVAL);
return 0;
}
s = sess_priv;
/* get per-thread MB MGR, create one if needed */
mb_mgr = get_per_thread_mb_mgr();
if (unlikely(mb_mgr == NULL))