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 430D842CD6; Fri, 16 Jun 2023 16:01:04 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 15BB340E0F; Fri, 16 Jun 2023 16:01:04 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 345FA40DDB; Fri, 16 Jun 2023 16:01:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686924062; x=1718460062; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=E+O4DzNiFb4TI7MbnWds7hBSuLdAHJZv//6vJcL07Rk=; b=Z8okWAlen80f2AJFIknpywgzQ1hwtEGyTzJS2vaWxkDhqy3vT83QcIii 4MDVlL17/Xs6E5sU9gOD49QGLM3Fvf6WnwLy8CeREc8CVKx/a30Ks31Od +3Vf7ppNhCgAKByRGG/BdpDTF64ASVfkL+OZkxTlGSdnpdkmsk4GI7FKr DWuwIjmZ0cwrDK9d8akjXGuFH/yuNbsd13AUPtiOJ/2mVncmxnzKOUTds CFMNij1w3vog8Qqr09ynFk1EvejvA4lY993xSskQUV888GR7v5g43+7ZX me38dA1BIc6y4neznTqr0bBKIVYcSfBbsFZee8ysJR39QHYcjllugNbUn w==; X-IronPort-AV: E=McAfee;i="6600,9927,10742"; a="362634256" X-IronPort-AV: E=Sophos;i="6.00,247,1681196400"; d="scan'208";a="362634256" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jun 2023 07:01:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10742"; a="712880147" X-IronPort-AV: E=Sophos;i="6.00,247,1681196400"; d="scan'208";a="712880147" Received: from silpixa00400355.ir.intel.com (HELO silpixa00400355.ger.corp.intel.com.) ([10.237.222.80]) by orsmga002.jf.intel.com with ESMTP; 16 Jun 2023 07:00:58 -0700 From: Vikash Poddar To: Kai Ji Cc: dev@dpdk.org, Vikash Poddar , stable@dpdk.org, arkadiuszx.kusztal@intel.com, Ciara Power Subject: [PATCH v7 1/3] common/qat: fix qat_dev_cmd_param corruption Date: Fri, 16 Jun 2023 14:00:51 +0000 Message-Id: <20230616140054.405194-1-vikash.chandrax.poddar@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230529104529.2055773-1-vikash.chandrax.poddar@intel.com> References: <20230529104529.2055773-1-vikash.chandrax.poddar@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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 Adding fix to address the memory corruption issue for qat_dev_cmd_param structure on QAT GEN3. This fix aligns the storage where it stores the value on 4 byte unsigned integer data type after reading slice configuration of QAT capabilities. Fixes: b3cbbcdffa4f ("common/qat: read HW slice configuration") Cc: stable@dpdk.org Cc: arkadiuszx.kusztal@intel.com Signed-off-by: Vikash Poddar Acked-by: Ciara Power --- v7: "support to enable insecure algorithms" commit is dependent on this patch --- drivers/common/qat/dev/qat_dev_gen1.c | 2 +- drivers/common/qat/dev/qat_dev_gen2.c | 2 +- drivers/common/qat/dev/qat_dev_gen3.c | 2 +- drivers/common/qat/dev/qat_dev_gen4.c | 2 +- drivers/common/qat/qat_device.c | 2 +- drivers/common/qat/qat_device.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/common/qat/dev/qat_dev_gen1.c b/drivers/common/qat/dev/qat_dev_gen1.c index cf480dcba8..dd2e878e90 100644 --- a/drivers/common/qat/dev/qat_dev_gen1.c +++ b/drivers/common/qat/dev/qat_dev_gen1.c @@ -242,7 +242,7 @@ qat_dev_get_extra_size_gen1(void) } static int -qat_get_dev_slice_map_gen1(uint16_t *map __rte_unused, +qat_get_dev_slice_map_gen1(uint32_t *map __rte_unused, const struct rte_pci_device *pci_dev __rte_unused) { return 0; diff --git a/drivers/common/qat/dev/qat_dev_gen2.c b/drivers/common/qat/dev/qat_dev_gen2.c index f51be46eb0..061dfdb698 100644 --- a/drivers/common/qat/dev/qat_dev_gen2.c +++ b/drivers/common/qat/dev/qat_dev_gen2.c @@ -22,7 +22,7 @@ static struct qat_qp_hw_spec_funcs qat_qp_hw_spec_gen2 = { }; static int -qat_dev_get_slice_map_gen2(uint16_t *map __rte_unused, +qat_dev_get_slice_map_gen2(uint32_t *map __rte_unused, const struct rte_pci_device *pci_dev __rte_unused) { return 0; diff --git a/drivers/common/qat/dev/qat_dev_gen3.c b/drivers/common/qat/dev/qat_dev_gen3.c index e4197f3c0f..f01b98ff86 100644 --- a/drivers/common/qat/dev/qat_dev_gen3.c +++ b/drivers/common/qat/dev/qat_dev_gen3.c @@ -68,7 +68,7 @@ static struct qat_qp_hw_spec_funcs qat_qp_hw_spec_gen3 = { }; static int -qat_dev_get_slice_map_gen3(uint16_t *map, +qat_dev_get_slice_map_gen3(uint32_t *map, const struct rte_pci_device *pci_dev) { if (rte_pci_read_config(pci_dev, map, diff --git a/drivers/common/qat/dev/qat_dev_gen4.c b/drivers/common/qat/dev/qat_dev_gen4.c index 1b3a5deabf..1ce262f715 100644 --- a/drivers/common/qat/dev/qat_dev_gen4.c +++ b/drivers/common/qat/dev/qat_dev_gen4.c @@ -283,7 +283,7 @@ qat_dev_get_misc_bar_gen4(struct rte_mem_resource **mem_resource, } static int -qat_dev_get_slice_map_gen4(uint16_t *map __rte_unused, +qat_dev_get_slice_map_gen4(uint32_t *map __rte_unused, const struct rte_pci_device *pci_dev __rte_unused) { return 0; diff --git a/drivers/common/qat/qat_device.c b/drivers/common/qat/qat_device.c index 0479175b65..ac705e385e 100644 --- a/drivers/common/qat/qat_device.c +++ b/drivers/common/qat/qat_device.c @@ -367,7 +367,7 @@ static int qat_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, { int sym_ret = 0, asym_ret = 0, comp_ret = 0; int num_pmds_created = 0; - uint16_t capa = 0; + uint32_t capa = 0; struct qat_pci_device *qat_pci_dev; struct qat_dev_hw_spec_funcs *ops_hw; struct qat_dev_cmd_param qat_dev_cmd_param[] = { diff --git a/drivers/common/qat/qat_device.h b/drivers/common/qat/qat_device.h index 4188474dde..5691320040 100644 --- a/drivers/common/qat/qat_device.h +++ b/drivers/common/qat/qat_device.h @@ -38,7 +38,7 @@ typedef int (*qat_dev_get_misc_bar_t) typedef int (*qat_dev_read_config_t) (struct qat_pci_device *); typedef int (*qat_dev_get_extra_size_t)(void); -typedef int (*qat_dev_get_slice_map_t)(uint16_t *map, +typedef int (*qat_dev_get_slice_map_t)(uint32_t *map, const struct rte_pci_device *pci_dev); struct qat_dev_hw_spec_funcs { -- 2.25.1 -------------------------------------------------------------- Intel Research and Development Ireland Limited Registered in Ireland Registered Office: Collinstown Industrial Park, Leixlip, County Kildare Registered Number: 308263 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.