]> git.droids-corp.org - dpdk.git/commitdiff
crypto/ipsec_mb: fix tainted data for session
authorCiara Power <ciara.power@intel.com>
Fri, 10 Dec 2021 14:09:52 +0000 (14:09 +0000)
committerAkhil Goyal <gakhil@marvell.com>
Fri, 21 Jan 2022 09:17:35 +0000 (10:17 +0100)
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: 746825e5c0ea ("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>
drivers/crypto/ipsec_mb/pmd_aesni_gcm.c

index 2c203795abd6ac92a67bc52660c911effebf7013..e5ad629fe57239e3483258936b2bbbf879b8d4cf 100644 (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))