Check if session is valid after getting operation out of the internal IPSec MB manager, in case the session has been freed while the operation was still inside the manager.
Signed-off-by: Pablo de Lara <pablo.de.lara.gua...@intel.com> --- drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c index a1d59e8..4bfc752 100644 --- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c +++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c @@ -1178,6 +1178,10 @@ post_process_mb_job(struct aesni_mb_qp *qp, JOB_AES_HMAC *job) struct aesni_mb_session *sess = get_sym_session_private_data( op->sym->session, cryptodev_driver_id); + if (unlikely(sess == NULL)) { + op->status = RTE_CRYPTO_OP_STATUS_INVALID_SESSION; + return op; + } if (likely(op->status == RTE_CRYPTO_OP_STATUS_NOT_PROCESSED)) { switch (job->status) { -- 2.7.5