From patchwork Mon Apr 20 11:05:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "De Lara Guarch, Pablo" X-Patchwork-Id: 68938 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id DCAE5A0561; Mon, 20 Apr 2020 13:05:38 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0262B1C0C2; Mon, 20 Apr 2020 13:05:38 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 2623F1C0BD for ; Mon, 20 Apr 2020 13:05:35 +0200 (CEST) IronPort-SDR: K5T1UP21vcOh1l6n+hPZWWcWNl42yMr5jRzvStR2VYzNRKkouKpvXxz+q4waS21T44ih5teq7F 26dwaLpLnRVA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2020 04:05:35 -0700 IronPort-SDR: QKVgn9jWbUaS67tq3dL70K8J/7rKQir+fP1GiK9Tm4GcshHn6zbx3U4DRMj/Q2QC0HUEnM3H5B wuScmDYTRIzg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,406,1580803200"; d="scan'208";a="429082587" Received: from silpixa00399593.ir.intel.com (HELO silpixa00399593.ger.corp.intel.com) ([10.237.223.21]) by orsmga005.jf.intel.com with ESMTP; 20 Apr 2020 04:05:33 -0700 From: Pablo de Lara To: declan.doherty@intel.com Cc: dev@dpdk.org, Pablo de Lara Date: Mon, 20 Apr 2020 12:05:29 +0100 Message-Id: <1587380729-242821-1-git-send-email-pablo.de.lara.guarch@intel.com> X-Mailer: git-send-email 2.7.5 Subject: [dpdk-dev] [PATCH] crypto/aesni_mb: check if session is valid X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- 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) {