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 203DD42B9B; Thu, 25 May 2023 17:39:14 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 024E440DF8; Thu, 25 May 2023 17:39:14 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 9BF9640DDB; Thu, 25 May 2023 17:39:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685029152; x=1716565152; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=lVAZ+kEqaleP2lg9C2xMCljLjZ3DoO7bloV5I8zj9RI=; b=jByL/ZfHg/mmXDYMdKXqM6ihUB+pwV/+TcydICtn2f0095J9xyCVxMtz 0vGXoSPxsuAQ+PibF7fTrXXaE4os1NvX6zViNJu1sRLv7mADpbOjTIDgY 9CiC3hK5g5JaRQM9RhneH/4+IyT3Y9DicIzo+bAqoTgfCzBRzG662EZAt gXD9GbDUI3qx6mhgOSLPx7vhrm6DPBHziXGW2VXJue//GDhGUriXSxQrs 7tbH/Yn6m9Vo1OXvRiM65aCgJBueQXZFkC5aR2m5MLNiFkhgGZtpcL0+Z QDZaUq0iP1xvOSBQKVH02k+gePx9tbOf7+QaHccBxBWJTFJNTnqNA/ejs g==; X-IronPort-AV: E=McAfee;i="6600,9927,10721"; a="356289528" X-IronPort-AV: E=Sophos;i="6.00,191,1681196400"; d="scan'208";a="356289528" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 May 2023 08:39:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10721"; a="704844333" X-IronPort-AV: E=Sophos;i="6.00,191,1681196400"; d="scan'208";a="704844333" Received: from silpixa00400355.ir.intel.com (HELO silpixa00400355.ger.corp.intel.com.) ([10.237.222.80]) by orsmga002.jf.intel.com with ESMTP; 25 May 2023 08:39:10 -0700 From: Vikash Poddar To: Kai Ji Cc: dev@dpdk.org, Vikash Poddar , stable@dpdk.org, arkadiuszx.kusztal@intel.com Subject: [PATCH v2] common/qat: fix qat_dev_cmd_param corruption Date: Thu, 25 May 2023 15:38:49 +0000 Message-Id: <20230525153849.1722448-1-vikash.chandrax.poddar@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230523090641.1659274-1-vikash.chandrax.poddar@intel.com> References: <20230523090641.1659274-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 --- v2: Updated the commit message --- 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 8bce2ac073..ed75b66041 100644 --- a/drivers/common/qat/qat_device.c +++ b/drivers/common/qat/qat_device.c @@ -361,7 +361,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 bc3da04238..4a79cdded3 100644 --- a/drivers/common/qat/qat_device.h +++ b/drivers/common/qat/qat_device.h @@ -37,7 +37,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.