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 6B12144103; Wed, 29 May 2024 16:40:36 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BDFB140A67; Wed, 29 May 2024 16:40:32 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.21]) by mails.dpdk.org (Postfix) with ESMTP id C2094406A2 for ; Wed, 29 May 2024 16:40:30 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1716993631; x=1748529631; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=4BhaHyBq0U9DGU8DJQ0HuX5swrx6HQEVbaaTdA/HBwo=; b=ZqPFp0iD2u0DRD6XXSn1JJD9jROwOV7UyAnjG5ZdLQiNSy9yP5dfDpGs bC9pKOaqBezh8zb9s9s/By6SwXicttOZesdtB3Kh2ogJbOkRZQuqmk3QX zCOFs2FSIGJXMQwxdso9ALoHEY6Oiv16TQSwK6N0s1QHLsBdBXclf2h7y FHJ9//CUJmq4TaVHRCA67AqXLbl/3xi+AeUPMv1zC6OUPU97RmGeMHGjM 95pk9qyosOUR5WVyTDrIK8Mz2aFzxdq2IsBJeOQ31p1P9PYE1vOFYK7MX m4AFMGUfQxKvRjy7Sp5EEeLE7poo0fQ3CMUx9E/k14ztOLYw7iq6/M3ok Q==; X-CSE-ConnectionGUID: tKexsdcURGSetXuFheldOA== X-CSE-MsgGUID: fBBKcQiJSmq5FZKlnDUMjQ== X-IronPort-AV: E=McAfee;i="6600,9927,11087"; a="13350654" X-IronPort-AV: E=Sophos;i="6.08,198,1712646000"; d="scan'208";a="13350654" Received: from orviesa008.jf.intel.com ([10.64.159.148]) by orvoesa113.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 May 2024 07:40:30 -0700 X-CSE-ConnectionGUID: OZ9c3oj7TU6GSsP7u7JzWw== X-CSE-MsgGUID: D7gm56G5RT6cUQfqtwthCQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,198,1712646000"; d="scan'208";a="35997775" Received: from txandevlnx322.an.intel.com ([10.123.117.44]) by orviesa008.jf.intel.com with ESMTP; 29 May 2024 07:40:29 -0700 From: Ganapati Kundapura To: dev@dpdk.org, gakhil@marvell.com, abhinandan.gujjar@intel.com, ferruh.yigit@amd.com, thomas@monjalon.net, bruce.richardson@intel.com, fanzhang.oss@gmail.com, ciara.power@intel.com Subject: [PATCH v2 2/2] crypto: validate crypto callbacks from next node Date: Wed, 29 May 2024 09:40:25 -0500 Message-Id: <20240529144025.4089318-2-ganapati.kundapura@intel.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20240529144025.4089318-1-ganapati.kundapura@intel.com> References: <20240416081222.3002268-1-ganapati.kundapura@intel.com> <20240529144025.4089318-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 --- v2: * Seperated this patch from the combined patch diff --git a/lib/cryptodev/rte_cryptodev.h b/lib/cryptodev/rte_cryptodev.h index 357d4bc..ce3ea36 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); #if 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]; #if 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