From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3F6F9454FC; Thu, 27 Jun 2024 00:00:41 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E8BC640665; Thu, 27 Jun 2024 00:00:36 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.19]) by mails.dpdk.org (Postfix) with ESMTP id BA2F140272 for ; Thu, 27 Jun 2024 00:00:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1719439235; x=1750975235; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=B52G3ckGxgjSEUH7pB9NTdtTmtMSOLyo945GHr7Tuv4=; b=YPa4BO/X13IosFddd8kucM3u33J3GCIStafYFX8zfxuwdekqemFKn43D qMBLnU7Qej5MapXoRw4f4NU7+/0dQRHyeX0Sj5jnuMfZOg/8J+Kw6d2qa kfgNzw6XwrHQu7YTCS9Xkf4b3RXIzZ/8qOii5zn3CKsOsa5K2dmirXAnb N8ROtEdymXFbptfSyXtWLybm17jRTPgEr9r8k4Bvx6QPpngIuAXyQTJDD qaw+TOlcR96psv5nOiIGzHVgu6y7a2sLELHvq1aan2FpW3Sy4QegF48sp xi94hwPJVCrfPhbXixWOv/6QN5vjAaJDZ9iS7pYzJGvpVg5+Prk+8N7B0 A==; X-CSE-ConnectionGUID: eRaQP21dSY+F+26pfmZFIA== X-CSE-MsgGUID: 9rR/1c8KTQysLZ8ntrzisQ== X-IronPort-AV: E=McAfee;i="6700,10204,11115"; a="16282538" X-IronPort-AV: E=Sophos;i="6.08,268,1712646000"; d="scan'208";a="16282538" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Jun 2024 15:00:33 -0700 X-CSE-ConnectionGUID: puGJXELWRtmtDKYwawUKkA== X-CSE-MsgGUID: dtxKgeRFR9udtZXHIneMNQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,268,1712646000"; d="scan'208";a="74912236" Received: from txandevlnx322.an.intel.com ([10.123.117.44]) by orviesa002.jf.intel.com with ESMTP; 26 Jun 2024 15:00:32 -0700 From: Ganapati Kundapura To: dev@dpdk.org, gakhil@marvell.com, abhinandan.gujjar@intel.com, john.mcnamara@intel.com, bruce.richardson@intel.com Cc: mb@smartsharesystems.com, ferruh.yigit@amd.com, fanzhang.oss@gmail.com, thomas@monjalon.net, bala.senthil@intel.com Subject: [PATCH v3 2/2] cryptodev: validate crypto callbacks from next node Date: Wed, 26 Jun 2024 17:00:28 -0500 Message-Id: <20240626220028.2260003-2-ganapati.kundapura@intel.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20240626220028.2260003-1-ganapati.kundapura@intel.com> References: <20240529144025.4089318-1-ganapati.kundapura@intel.com> <20240626220028.2260003-1-ganapati.kundapura@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Crypto callbacks are invoked on checking from head node which is always valid pointer. This patch checks next node from the head node if callbacks registered before invoking callbacks. Fixes: 1c3ffb95595e ("cryptodev: add enqueue and dequeue callbacks") Signed-off-by: Ganapati Kundapura --- v3: retained ifdef diff --git a/lib/cryptodev/rte_cryptodev.h b/lib/cryptodev/rte_cryptodev.h index c946f74..bec947f 100644 --- a/lib/cryptodev/rte_cryptodev.h +++ b/lib/cryptodev/rte_cryptodev.h @@ -1910,7 +1910,7 @@ rte_cryptodev_dequeue_burst(uint8_t dev_id, uint16_t qp_id, nb_ops = fp_ops->dequeue_burst(qp, ops, nb_ops); #ifdef RTE_CRYPTO_CALLBACKS - if (unlikely(fp_ops->qp.deq_cb != NULL)) { + if (unlikely(fp_ops->qp.deq_cb[qp_id].next != NULL)) { struct rte_cryptodev_cb_rcu *list; struct rte_cryptodev_cb *cb; @@ -1977,7 +1977,7 @@ rte_cryptodev_enqueue_burst(uint8_t dev_id, uint16_t qp_id, fp_ops = &rte_crypto_fp_ops[dev_id]; qp = fp_ops->qp.data[qp_id]; #ifdef RTE_CRYPTO_CALLBACKS - if (unlikely(fp_ops->qp.enq_cb != NULL)) { + if (unlikely(fp_ops->qp.enq_cb[qp_id].next != NULL)) { struct rte_cryptodev_cb_rcu *list; struct rte_cryptodev_cb *cb; -- 2.6.4