Skip to content

Commit

Permalink
crypto/ipsec_mb: fix tainted data for session
Browse files Browse the repository at this point in the history
[ upstream commit 21bdbf2 ]

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: 746825e ("crypto/ipsec_mb: move aesni_gcm PMD")

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
  • Loading branch information
ciarapow authored and kevintraynor committed Feb 21, 2022
1 parent 4b8475c commit 5831db3
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions drivers/crypto/ipsec_mb/pmd_aesni_gcm.c
Expand Up @@ -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))
Expand Down

0 comments on commit 5831db3

Please sign in to comment.