From patchwork Tue Jun 7 17:17:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 112491 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id F26C0A0548; Tue, 7 Jun 2022 19:17:55 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5360A4161A; Tue, 7 Jun 2022 19:17:52 +0200 (CEST) Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) by mails.dpdk.org (Postfix) with ESMTP id 528CD40689 for ; Tue, 7 Jun 2022 19:17:51 +0200 (CEST) Received: by mail-pf1-f176.google.com with SMTP id z17so16071146pff.7 for ; Tue, 07 Jun 2022 10:17:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CzyOmQ0PGqXwHB3qtq8RSVp5/tnvlXr3wmul/vxIHSE=; b=LagwuS0s3G4zeTgVWplhPaPVWbLZoCKloJHjMsf/wOL0MMGKgv/u092A0jfh4JTNf9 o+JhKw0YNXxvvWbv4bFwGFdaYZv116x8dEk6VPAqkPoCfE7PCRi3h17vGoDM14ltCGx9 mCq6hGfGNwkdLI+xqmGamB6nhPyJYVSCbVEAosASc94HnEMBYLIl/7vyqlzkaIWFsBs1 5Y+srvBvE2Mm5y4eoFnEKqEwipHrDU9mRiCwZK/2Ko6xQdY3ybzfDi1ig4ktlO/l/X8F vXwnY8yJaLZfTlgHZML7FSvTz0UUNrIZx+UDwGQA4gkdygJ65ROb+iNyKvtplUMwiNXu E1Lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CzyOmQ0PGqXwHB3qtq8RSVp5/tnvlXr3wmul/vxIHSE=; b=CaOLCIe1Emn8UWEWql1s0LiB94++bIsSsqFRFEPdmBQeozHwwhdszs9Lz8WmJyBVMK R3OEeKXgH2nzveU6wtkq55SR9Pdvz2kTXMNYaNl3H+PP13MnCbCSw1Mrs84X3OqL0AA1 W3ejADRWWOzEdtLwaYlkqh4g6AxhIKpap9FTfXbse+gIrFlijK20ogQjtnkHy29w7g1q USRIwRgUb487SUMDgETqV/DjaHL6kcMzjlYvl5s8/nfFa5LkLzF+h50UxO1amLFUY/z/ Uk1Elsw7qP5POeWH/TQVwOaA+7gbr4vZGn3Cg2fmdKIKsdF/Ik+8kSetf8aZqg9BBHvr eL1g== X-Gm-Message-State: AOAM5301OzvM0BeldNBcMtFCrZzjsQNbIfwdmmCBk4u0tcobrtHv21nW 7D2ceV8bSWdePr1y4VYmTdHs/HdfQM4SZA== X-Google-Smtp-Source: ABdhPJy4/bpnc91p8Du8MqVlOpyy+ENYz8gYbTWSqZNb/bFAK+5POwzhEsCH4k9lOSKbpsiS9eMIpQ== X-Received: by 2002:a63:f242:0:b0:3fd:8a04:df6 with SMTP id d2-20020a63f242000000b003fd8a040df6mr13556815pgk.300.1654622270023; Tue, 07 Jun 2022 10:17:50 -0700 (PDT) Received: from hermes.local (204-195-112-199.wavecable.com. [204.195.112.199]) by smtp.gmail.com with ESMTPSA id x2-20020a627c02000000b005087c23ad8dsm13185281pfc.0.2022.06.07.10.17.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jun 2022 10:17:49 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Marcin Wojtas , Michal Krawczyk , Shai Brandes , Evgeny Schemeilin , Igor Chauskin Subject: [RFC 1/8] net/ena: fix warnings related to rte_memcpy and gcc-12 Date: Tue, 7 Jun 2022 10:17:39 -0700 Message-Id: <20220607171746.461772-2-stephen@networkplumber.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220607171746.461772-1-stephen@networkplumber.org> References: <20220607171746.461772-1-stephen@networkplumber.org> MIME-Version: 1.0 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 Rte_memcpy is not needed for small objects only used on control path. Regular memcpy is as fast or faster and there is more robust since static analysis etc knows what it does. In this driver it was redefining all memcpy as rte_memcpy which is even worse. Signed-off-by: Stephen Hemminger Acked-by: Michal Krawczyk --- drivers/net/ena/base/ena_plat_dpdk.h | 10 +--------- drivers/net/ena/ena_ethdev.c | 8 ++++---- drivers/net/ena/ena_rss.c | 2 +- 3 files changed, 6 insertions(+), 14 deletions(-) diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h index 8f2b3a87c2ab..caea763e3eca 100644 --- a/drivers/net/ena/base/ena_plat_dpdk.h +++ b/drivers/net/ena/base/ena_plat_dpdk.h @@ -26,7 +26,6 @@ #include #include -#include typedef uint64_t u64; typedef uint32_t u32; @@ -67,14 +66,7 @@ typedef uint64_t dma_addr_t; #define ENA_UDELAY(x) rte_delay_us_block(x) #define ENA_TOUCH(x) ((void)(x)) -/* Redefine memcpy with caution: rte_memcpy can be simply aliased to memcpy, so - * make the redefinition only if it's safe (and beneficial) to do so. - */ -#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64_MEMCPY) || \ - defined(RTE_ARCH_ARM_NEON_MEMCPY) -#undef memcpy -#define memcpy rte_memcpy -#endif + #define wmb rte_wmb #define rmb rte_rmb #define mb rte_mb diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index 68768cab7077..5f87429606e6 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -481,7 +481,7 @@ ENA_PROXY_DESC(ena_com_get_dev_basic_stats, ENA_MP_DEV_STATS_GET, ENA_TOUCH(rsp); ENA_TOUCH(ena_dev); if (stats != &adapter->basic_stats) - rte_memcpy(stats, &adapter->basic_stats, sizeof(*stats)); + memcpy(stats, &adapter->basic_stats, sizeof(*stats)); }), struct ena_com_dev *ena_dev, struct ena_admin_basic_stats *stats); @@ -496,7 +496,7 @@ ENA_PROXY_DESC(ena_com_get_eni_stats, ENA_MP_ENI_STATS_GET, ENA_TOUCH(rsp); ENA_TOUCH(ena_dev); if (stats != (struct ena_admin_eni_stats *)&adapter->eni_stats) - rte_memcpy(stats, &adapter->eni_stats, sizeof(*stats)); + memcpy(stats, &adapter->eni_stats, sizeof(*stats)); }), struct ena_com_dev *ena_dev, struct ena_admin_eni_stats *stats); @@ -538,8 +538,8 @@ ENA_PROXY_DESC(ena_com_indirect_table_get, ENA_MP_IND_TBL_GET, ENA_TOUCH(rsp); ENA_TOUCH(ena_dev); if (ind_tbl != adapter->indirect_table) - rte_memcpy(ind_tbl, adapter->indirect_table, - sizeof(adapter->indirect_table)); + memcpy(ind_tbl, adapter->indirect_table, + sizeof(adapter->indirect_table)); }), struct ena_com_dev *ena_dev, u32 *ind_tbl); diff --git a/drivers/net/ena/ena_rss.c b/drivers/net/ena/ena_rss.c index b6c4f76e3820..c723d3f5fca1 100644 --- a/drivers/net/ena/ena_rss.c +++ b/drivers/net/ena/ena_rss.c @@ -59,7 +59,7 @@ void ena_rss_key_fill(void *key, size_t size) key_generated = true; } - rte_memcpy(key, default_key, size); + memcpy(key, default_key, size); } int ena_rss_reta_update(struct rte_eth_dev *dev, From patchwork Tue Jun 7 17:17:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 112492 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 596C9A0548; Tue, 7 Jun 2022 19:18:01 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 509EB41614; Tue, 7 Jun 2022 19:17:54 +0200 (CEST) Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) by mails.dpdk.org (Postfix) with ESMTP id A32CB427EA for ; Tue, 7 Jun 2022 19:17:52 +0200 (CEST) Received: by mail-pj1-f53.google.com with SMTP id k5-20020a17090a404500b001e8875e6242so5233365pjg.5 for ; Tue, 07 Jun 2022 10:17:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=VJ2qs1w+QRFvTTzQK7naJuAKpLa19aMOJsC5C5/ZYp4=; b=vmdOFR3XG9a8Uq1l+7SBO/SCyhyAMggghBuaw38LC6g79BrC0xQwKaF3JD0L7H4WS/ gMUVizX+DGXc28BqyWobR18+/6OCJlDErWhvr2RECo8GIuYVXJctiZppLc7fmjFXLiu0 BXb4gZjF/E9gChAj3NOucS2RbaOv4qv4tf9RQn96bb0H8SWH6YO5RlgKQSbgm0al14ha m7A+NSuAgRyntrT2HPeU8LGoGW5ouBJpdikvS2z0H71tQLSrw7rsJ0h+5fX5BQdm6lS7 KTkyxKC47rKUjQDQEr8AFY6C+9LtxPNJUS8fQDvbL3gcQD1L769fRFvpcSm7H6coP6Je sGZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=VJ2qs1w+QRFvTTzQK7naJuAKpLa19aMOJsC5C5/ZYp4=; b=6HMhwsTwVmD14SO2/D+6K0nceGMsBs5QCVWlkT/DonkLMpCDQ8MXXuGdKj1qeojn7t +kmvAp0heEYjvjcnmta/YDxS/aTKGnl/TeKsYwsAASHGhwJ/nXpN92UoJ8DTzhKzGJq9 yR+pa4zdmWLUbQtr/54l+8gJHWZnc8ngomz0fotMKcqAaZAx9gJhbVHhmVg5xwIkitch pXJgtffikZ+waKNXSMF52Dw8RQbVwY/+bbDJ3ieB49zP7oSTyMEoRl4CrqoefBHqbQyT ydFBXd6aciSlrHbY5apVMas9S7oJohhzkD+7h4BsRVi9BEUaE93cL+Vb3f3LNmeH6wti eqHQ== X-Gm-Message-State: AOAM530cYE76wmpTxXxIeU6WBerKYv+4Dd6xXA+XfLuCBCIRUUSidKJ7 ZLLgoRVFe3mmLS6QO+vm92KfKndXKiBVyg== X-Google-Smtp-Source: ABdhPJxZTPgqJJT1w2h3J8R9VzXuRyK/QVqt4bpDS2QekUc7H/WCmk+a8nMceOZ6qNI7OfgVKYsIAg== X-Received: by 2002:a17:903:41c6:b0:164:1050:49ac with SMTP id u6-20020a17090341c600b00164105049acmr30201545ple.138.1654622271298; Tue, 07 Jun 2022 10:17:51 -0700 (PDT) Received: from hermes.local (204-195-112-199.wavecable.com. [204.195.112.199]) by smtp.gmail.com with ESMTPSA id x2-20020a627c02000000b005087c23ad8dsm13185281pfc.0.2022.06.07.10.17.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jun 2022 10:17:50 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Rasesh Mody , Devendra Singh Rawat Subject: [RFC 2/8] net/qede: fix gcc-12 rte_memcpy warnings Date: Tue, 7 Jun 2022 10:17:40 -0700 Message-Id: <20220607171746.461772-3-stephen@networkplumber.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220607171746.461772-1-stephen@networkplumber.org> References: <20220607171746.461772-1-stephen@networkplumber.org> MIME-Version: 1.0 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 The x86 version of rte_memcpy can cause warnings. The driver does not need to use rte_memcpy for everything. Standard memcpy is just as fast and safer; the compiler and static analysis tools treat memcpy specially. Signed-off-by: Stephen Hemminger --- drivers/net/qede/base/bcm_osal.h | 3 +-- drivers/net/qede/qede_ethdev.c | 2 +- drivers/net/qede/qede_filter.c | 16 ++++++---------- drivers/net/qede/qede_main.c | 13 ++++++------- drivers/net/qede/qede_sriov.c | 6 +++--- 5 files changed, 17 insertions(+), 23 deletions(-) diff --git a/drivers/net/qede/base/bcm_osal.h b/drivers/net/qede/base/bcm_osal.h index c5b53992822b..9ea579bfc849 100644 --- a/drivers/net/qede/base/bcm_osal.h +++ b/drivers/net/qede/base/bcm_osal.h @@ -14,7 +14,6 @@ #include #include #include -#include #include #include #include @@ -99,7 +98,7 @@ typedef intptr_t osal_int_ptr_t; } while (0) #define OSAL_VFREE(dev, memory) OSAL_FREE(dev, memory) #define OSAL_MEM_ZERO(mem, size) bzero(mem, size) -#define OSAL_MEMCPY(dst, src, size) rte_memcpy(dst, src, size) +#define OSAL_MEMCPY(dst, src, size) memcpy(dst, src, size) #define OSAL_MEMCMP(s1, s2, size) memcmp(s1, s2, size) #define OSAL_MEMSET(dst, val, length) \ memset(dst, val, length) diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c index ea6b71f09355..a4923670d6ba 100644 --- a/drivers/net/qede/qede_ethdev.c +++ b/drivers/net/qede/qede_ethdev.c @@ -358,7 +358,7 @@ qede_assign_rxtx_handlers(struct rte_eth_dev *dev, bool is_dummy) static void qede_alloc_etherdev(struct qede_dev *qdev, struct qed_dev_eth_info *info) { - rte_memcpy(&qdev->dev_info, info, sizeof(*info)); + qdev->dev_info = *info; qdev->ops = qed_ops; } diff --git a/drivers/net/qede/qede_filter.c b/drivers/net/qede/qede_filter.c index 440440423a32..ca3165d97210 100644 --- a/drivers/net/qede/qede_filter.c +++ b/drivers/net/qede/qede_filter.c @@ -388,10 +388,8 @@ qede_arfs_construct_pkt(struct rte_eth_dev *eth_dev, ip6->vtc_flow = rte_cpu_to_be_32(QEDE_FDIR_IPV6_DEFAULT_VTC_FLOW); - rte_memcpy(&ip6->src_addr, arfs->tuple.src_ipv6, - IPV6_ADDR_LEN); - rte_memcpy(&ip6->dst_addr, arfs->tuple.dst_ipv6, - IPV6_ADDR_LEN); + memcpy(&ip6->src_addr, arfs->tuple.src_ipv6, IPV6_ADDR_LEN); + memcpy(&ip6->dst_addr, arfs->tuple.dst_ipv6, IPV6_ADDR_LEN); len += sizeof(struct rte_ipv6_hdr); params->ipv6 = true; @@ -821,12 +819,10 @@ qede_flow_parse_pattern(__rte_unused struct rte_eth_dev *dev, const struct rte_flow_item_ipv6 *spec; spec = pattern->spec; - rte_memcpy(flow->entry.tuple.src_ipv6, - spec->hdr.src_addr, - IPV6_ADDR_LEN); - rte_memcpy(flow->entry.tuple.dst_ipv6, - spec->hdr.dst_addr, - IPV6_ADDR_LEN); + memcpy(flow->entry.tuple.src_ipv6, + spec->hdr.src_addr, IPV6_ADDR_LEN); + memcpy(flow->entry.tuple.dst_ipv6, + spec->hdr.dst_addr, IPV6_ADDR_LEN); flow->entry.tuple.eth_proto = RTE_ETHER_TYPE_IPV6; } diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c index ad101194d613..03039038ad3d 100644 --- a/drivers/net/qede/qede_main.c +++ b/drivers/net/qede/qede_main.c @@ -372,7 +372,7 @@ qed_fill_dev_info(struct ecore_dev *edev, struct qed_dev_info *dev_info) dev_info->mtu = ECORE_LEADING_HWFN(edev)->hw_info.mtu; dev_info->dev_type = edev->type; - rte_memcpy(&dev_info->hw_mac, &edev->hwfns[0].hw_info.hw_mac_addr, + memcpy(&dev_info->hw_mac, &edev->hwfns[0].hw_info.hw_mac_addr, RTE_ETHER_ADDR_LEN); dev_info->fw_major = FW_MAJOR_VERSION; @@ -440,7 +440,7 @@ qed_fill_eth_dev_info(struct ecore_dev *edev, struct qed_dev_eth_info *info) info->num_vlan_filters = RESC_NUM(&edev->hwfns[0], ECORE_VLAN) - max_vf_vlan_filters; - rte_memcpy(&info->port_mac, &edev->hwfns[0].hw_info.hw_mac_addr, + memcpy(&info->port_mac, &edev->hwfns[0].hw_info.hw_mac_addr, RTE_ETHER_ADDR_LEN); } else { ecore_vf_get_num_rxqs(ECORE_LEADING_HWFN(edev), @@ -471,7 +471,7 @@ static void qed_set_name(struct ecore_dev *edev, char name[NAME_SIZE]) { int i; - rte_memcpy(edev->name, name, NAME_SIZE); + memcpy(edev->name, name, NAME_SIZE); for_each_hwfn(edev, i) { snprintf(edev->hwfns[i].name, NAME_SIZE, "%s-%d", name, i); } @@ -513,10 +513,9 @@ static void qed_fill_link(struct ecore_hwfn *hwfn, /* Prepare source inputs */ if (IS_PF(hwfn->p_dev)) { - rte_memcpy(¶ms, ecore_mcp_get_link_params(hwfn), - sizeof(params)); - rte_memcpy(&link, ecore_mcp_get_link_state(hwfn), sizeof(link)); - rte_memcpy(&link_caps, ecore_mcp_get_link_capabilities(hwfn), + memcpy(¶ms, ecore_mcp_get_link_params(hwfn), sizeof(params)); + memcpy(&link, ecore_mcp_get_link_state(hwfn), sizeof(link)); + memcpy(&link_caps, ecore_mcp_get_link_capabilities(hwfn), sizeof(link_caps)); } else { ecore_vf_read_bulletin(hwfn, &change); diff --git a/drivers/net/qede/qede_sriov.c b/drivers/net/qede/qede_sriov.c index 0b99a8d6fe9c..937d339fb802 100644 --- a/drivers/net/qede/qede_sriov.c +++ b/drivers/net/qede/qede_sriov.c @@ -203,10 +203,10 @@ void qed_inform_vf_link_state(struct ecore_hwfn *hwfn) if (!hwfn->pf_iov_info) return; - rte_memcpy(¶ms, ecore_mcp_get_link_params(lead_hwfn), + memcpy(¶ms, ecore_mcp_get_link_params(lead_hwfn), sizeof(params)); - rte_memcpy(&link, ecore_mcp_get_link_state(lead_hwfn), sizeof(link)); - rte_memcpy(&caps, ecore_mcp_get_link_capabilities(lead_hwfn), + memcpy(&link, ecore_mcp_get_link_state(lead_hwfn), sizeof(link)); + memcpy(&caps, ecore_mcp_get_link_capabilities(lead_hwfn), sizeof(caps)); /* Update bulletin of all future possible VFs with link configuration */ From patchwork Tue Jun 7 17:17:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 112493 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6763FA0548; Tue, 7 Jun 2022 19:18:08 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A87D34281C; Tue, 7 Jun 2022 19:17:55 +0200 (CEST) Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by mails.dpdk.org (Postfix) with ESMTP id BB04A427EE for ; Tue, 7 Jun 2022 19:17:53 +0200 (CEST) Received: by mail-pg1-f170.google.com with SMTP id h192so9672691pgc.4 for ; Tue, 07 Jun 2022 10:17:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=zkZvA38eYJA3mUmixjXUy6VkTzt8ZcadrAXlRwvH2Y0=; b=b+5QsLVw424jr0+2fM7aJ1mH2DxAOh1YW3wAWKLJN71LLf4D4YXnMPFhQTo4JB8A9c ktstSqgJNU2nrcKzlCXoMkuoIL/XIL3DSaTV/QHnE0M46CF6AOEcbZ4zTwb2dlLwk4M4 8+2Z7l4JISbUtW7U1XIO1elh2Ki76axS5UnG23wswOIvi8QBGbEH368vqTHKHhGy5YVY OM5B9QOIZmPpC7lrZqN2rOCqZGQyjsVgZfv7FIzotALf2ocawc06b8y4cR7RDGPi193u 7kF1WE7C9s+lGU6/IbJxvpvG3ZrQssaBpGyFpqA3V7STGcbiL/J+Tk36fl51MdmFreBE 8mjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zkZvA38eYJA3mUmixjXUy6VkTzt8ZcadrAXlRwvH2Y0=; b=UouqNG5beGsTTJ4npuNsnAAfUf7iZpRHjhTsgOV9GjZTbo51TaQ/0hqsY60uioAxGL wSnD2/rvHgiNi85bsGiugjf/1DCKTNWBFbVW0/HQFQ1DN3UsubTSvgsyKKs2fU6AUF8e yp7H+rrS/L5Vw02k4+B+BC408gt7NGw0Q+nKz4zaUyPblHYA4vUHtewPxr1mzdkkvbSH WSp15JNfNOngLSQsSrDfOf/SKhRQ1adMRbteot+Iq+FX0wZrgI5TRj+3+BtE2r6ej81s W4LAdM/gHIDRVFHTTMmOB1/SaXGzn/rWhUDjqRwyaFGsHdKwWgZMuo2kOw2gfLLjHa5N 5h0A== X-Gm-Message-State: AOAM530OSe7ncapsKC810VlBlohE434jFsUOJuv/uFBp4ni0mgt9ra+F 3iHdXG0wo+0GvXcazb6+Ik4LRm+tgZ/jbA== X-Google-Smtp-Source: ABdhPJzckhxMVXiRVzl/s+meSsNitHztS5bjG1XWeJTDcN3OtcNFPXglnKrvFtyaGsGUJAlNSoJThg== X-Received: by 2002:a62:d40c:0:b0:51b:bc02:703b with SMTP id a12-20020a62d40c000000b0051bbc02703bmr30228789pfh.65.1654622272487; Tue, 07 Jun 2022 10:17:52 -0700 (PDT) Received: from hermes.local (204-195-112-199.wavecable.com. [204.195.112.199]) by smtp.gmail.com with ESMTPSA id x2-20020a627c02000000b005087c23ad8dsm13185281pfc.0.2022.06.07.10.17.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jun 2022 10:17:51 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Qiming Yang , Qi Zhang Subject: [RFC 3/8] net/ice: fix rte_memcpy warnings with gcc-12 Date: Tue, 7 Jun 2022 10:17:41 -0700 Message-Id: <20220607171746.461772-4-stephen@networkplumber.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220607171746.461772-1-stephen@networkplumber.org> References: <20220607171746.461772-1-stephen@networkplumber.org> MIME-Version: 1.0 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 There is no good reason to always use rte_memcpy. Regular memcpy is as fast or faster for small values and safer since it won't reference past end of input. Also static analysis tools know about regular memcpy and can analyze better. Signed-off-by: Stephen Hemminger --- drivers/net/ice/base/ice_osdep.h | 5 ++--- drivers/net/ice/ice_dcf.c | 12 ++++++------ drivers/net/ice/ice_dcf_ethdev.c | 10 +++++----- drivers/net/ice/ice_dcf_parent.c | 2 +- drivers/net/ice/ice_dcf_sched.c | 11 +++++------ drivers/net/ice/ice_ethdev.c | 13 ++++++------- drivers/net/ice/ice_fdir_filter.c | 32 +++++++++++++++---------------- drivers/net/ice/ice_tm.c | 6 +++--- 8 files changed, 44 insertions(+), 47 deletions(-) diff --git a/drivers/net/ice/base/ice_osdep.h b/drivers/net/ice/base/ice_osdep.h index 8160eb68eeda..191646711088 100644 --- a/drivers/net/ice/base/ice_osdep.h +++ b/drivers/net/ice/base/ice_osdep.h @@ -14,7 +14,6 @@ #include #include -#include #include #include #include @@ -204,7 +203,7 @@ struct ice_virt_mem { #define ice_free(h, m) rte_free(m) #define ice_memset(a, b, c, d) memset((a), (b), (c)) -#define ice_memcpy(a, b, c, d) rte_memcpy((a), (b), (c)) +#define ice_memcpy(a, b, c, d) memcpy((a), (b), (c)) /* SW spinlock */ struct ice_lock { @@ -244,7 +243,7 @@ ice_memdup(__rte_unused struct ice_hw *hw, const void *src, size_t size, p = ice_malloc(hw, size); if (p) - rte_memcpy(p, src, size); + memcpy(p, src, size); return p; } diff --git a/drivers/net/ice/ice_dcf.c b/drivers/net/ice/ice_dcf.c index 885d58c0f4c5..842a88299bab 100644 --- a/drivers/net/ice/ice_dcf.c +++ b/drivers/net/ice/ice_dcf.c @@ -328,7 +328,7 @@ ice_dcf_get_vf_vsi_map(struct ice_dcf_hw *hw) return 1; } - rte_memcpy(hw->vf_vsi_map, vsi_map->vf_vsi, len); + memcpy(hw->vf_vsi_map, vsi_map->vf_vsi, len); return 0; } @@ -606,7 +606,7 @@ dcf_get_vlan_offload_caps_v2(struct ice_dcf_hw *hw) return ret; } - rte_memcpy(&hw->vlan_v2_caps, &vlan_v2_caps, sizeof(vlan_v2_caps)); + memcpy(&hw->vlan_v2_caps, &vlan_v2_caps, sizeof(vlan_v2_caps)); return 0; } @@ -799,7 +799,7 @@ ice_dcf_configure_rss_key(struct ice_dcf_hw *hw) rss_key->vsi_id = hw->vsi_res->vsi_id; rss_key->key_len = hw->vf_res->rss_key_size; - rte_memcpy(rss_key->key, hw->rss_key, hw->vf_res->rss_key_size); + memcpy(rss_key->key, hw->rss_key, hw->vf_res->rss_key_size); args.v_op = VIRTCHNL_OP_CONFIG_RSS_KEY; args.req_msglen = len; @@ -831,7 +831,7 @@ ice_dcf_configure_rss_lut(struct ice_dcf_hw *hw) rss_lut->vsi_id = hw->vsi_res->vsi_id; rss_lut->lut_entries = hw->vf_res->rss_lut_size; - rte_memcpy(rss_lut->lut, hw->rss_lut, hw->vf_res->rss_lut_size); + memcpy(rss_lut->lut, hw->rss_lut, hw->vf_res->rss_lut_size); args.v_op = VIRTCHNL_OP_CONFIG_RSS_LUT; args.req_msglen = len; @@ -881,7 +881,7 @@ ice_dcf_init_rss(struct ice_dcf_hw *hw) for (i = 0; i < hw->vf_res->rss_key_size; i++) hw->rss_key[i] = (uint8_t)rte_rand(); else - rte_memcpy(hw->rss_key, rss_conf->rss_key, + memcpy(hw->rss_key, rss_conf->rss_key, RTE_MIN(rss_conf->rss_key_len, hw->vf_res->rss_key_size)); @@ -1141,7 +1141,7 @@ ice_dcf_add_del_all_mac_addr(struct ice_dcf_hw *hw, return -ENOMEM; } - rte_memcpy(list->list[0].addr, addr->addr_bytes, + memcpy(list->list[0].addr, addr->addr_bytes, sizeof(addr->addr_bytes)); PMD_DRV_LOG(DEBUG, "add/rm mac:" RTE_ETHER_ADDR_PRT_FMT, diff --git a/drivers/net/ice/ice_dcf_ethdev.c b/drivers/net/ice/ice_dcf_ethdev.c index 0da267db1f97..ec28f8583863 100644 --- a/drivers/net/ice/ice_dcf_ethdev.c +++ b/drivers/net/ice/ice_dcf_ethdev.c @@ -1326,7 +1326,7 @@ ice_dcf_dev_rss_reta_update(struct rte_eth_dev *dev, return -ENOMEM; } /* store the old lut table temporarily */ - rte_memcpy(lut, hw->rss_lut, reta_size); + memcpy(lut, hw->rss_lut, reta_size); for (i = 0; i < reta_size; i++) { idx = i / RTE_ETH_RETA_GROUP_SIZE; @@ -1335,11 +1335,11 @@ ice_dcf_dev_rss_reta_update(struct rte_eth_dev *dev, lut[i] = reta_conf[idx].reta[shift]; } - rte_memcpy(hw->rss_lut, lut, reta_size); + memcpy(hw->rss_lut, lut, reta_size); /* send virtchnnl ops to configure rss*/ ret = ice_dcf_configure_rss_lut(hw); if (ret) /* revert back */ - rte_memcpy(hw->rss_lut, lut, reta_size); + memcpy(hw->rss_lut, lut, reta_size); rte_free(lut); return ret; @@ -1396,7 +1396,7 @@ ice_dcf_dev_rss_hash_update(struct rte_eth_dev *dev, return -EINVAL; } - rte_memcpy(hw->rss_key, rss_conf->rss_key, rss_conf->rss_key_len); + memcpy(hw->rss_key, rss_conf->rss_key, rss_conf->rss_key_len); return ice_dcf_configure_rss_key(hw); } @@ -1418,7 +1418,7 @@ ice_dcf_dev_rss_hash_conf_get(struct rte_eth_dev *dev, return 0; rss_conf->rss_key_len = hw->vf_res->rss_key_size; - rte_memcpy(rss_conf->rss_key, hw->rss_key, rss_conf->rss_key_len); + memcpy(rss_conf->rss_key, hw->rss_key, rss_conf->rss_key_len); return 0; } diff --git a/drivers/net/ice/ice_dcf_parent.c b/drivers/net/ice/ice_dcf_parent.c index 2f96dedcce1c..415caad3ac88 100644 --- a/drivers/net/ice/ice_dcf_parent.c +++ b/drivers/net/ice/ice_dcf_parent.c @@ -402,7 +402,7 @@ ice_dcf_load_pkg(struct ice_adapter *adapter) use_dsn = ice_dcf_execute_virtchnl_cmd(&dcf_adapter->real_hw, &vc_cmd) == 0; if (use_dsn) - rte_memcpy(&dsn, pkg_info.dsn, sizeof(dsn)); + memcpy(&dsn, pkg_info.dsn, sizeof(dsn)); return ice_load_pkg(adapter, use_dsn, dsn); } diff --git a/drivers/net/ice/ice_dcf_sched.c b/drivers/net/ice/ice_dcf_sched.c index a231c1e60b2b..805e389b6699 100644 --- a/drivers/net/ice/ice_dcf_sched.c +++ b/drivers/net/ice/ice_dcf_sched.c @@ -307,8 +307,8 @@ ice_dcf_node_add(struct rte_eth_dev *dev, uint32_t node_id, tm_node->id = node_id; tm_node->parent = NULL; tm_node->reference_count = 0; - rte_memcpy(&tm_node->params, params, - sizeof(struct rte_tm_node_params)); + memcpy(&tm_node->params, params, + sizeof(struct rte_tm_node_params)); hw->tm_conf.root = tm_node; return 0; @@ -372,8 +372,7 @@ ice_dcf_node_add(struct rte_eth_dev *dev, uint32_t node_id, tm_node->shaper_profile = shaper_profile; tm_node->reference_count = 0; tm_node->parent = parent_node; - rte_memcpy(&tm_node->params, params, - sizeof(struct rte_tm_node_params)); + memcpy(&tm_node->params, params, sizeof(struct rte_tm_node_params)); if (parent_node_type == ICE_DCF_TM_NODE_TYPE_PORT) { TAILQ_INSERT_TAIL(&hw->tm_conf.tc_list, tm_node, node); @@ -518,8 +517,8 @@ ice_dcf_shaper_profile_add(struct rte_eth_dev *dev, if (!shaper_profile) return -ENOMEM; shaper_profile->shaper_profile_id = shaper_profile_id; - rte_memcpy(&shaper_profile->profile, profile, - sizeof(struct rte_tm_shaper_params)); + memcpy(&shaper_profile->profile, profile, + sizeof(struct rte_tm_shaper_params)); TAILQ_INSERT_TAIL(&hw->tm_conf.shaper_profile_list, shaper_profile, node); diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c index 35ab542e61d4..04c70a7a7837 100644 --- a/drivers/net/ice/ice_ethdev.c +++ b/drivers/net/ice/ice_ethdev.c @@ -3224,7 +3224,7 @@ ice_get_default_rss_key(uint8_t *rss_key, uint32_t rss_key_size) key[i] = (uint8_t)rte_rand(); default_key_done = true; } - rte_memcpy(rss_key, key, RTE_MIN(rss_key_size, sizeof(default_key))); + memcpy(rss_key, key, RTE_MIN(rss_key_size, sizeof(default_key))); } static int ice_init_rss(struct ice_pf *pf) @@ -3278,11 +3278,10 @@ static int ice_init_rss(struct ice_pf *pf) if (!rss_conf->rss_key) ice_get_default_rss_key(vsi->rss_key, vsi->rss_key_size); else - rte_memcpy(vsi->rss_key, rss_conf->rss_key, - RTE_MIN(rss_conf->rss_key_len, - vsi->rss_key_size)); + memcpy(vsi->rss_key, rss_conf->rss_key, + RTE_MIN(rss_conf->rss_key_len, vsi->rss_key_size)); - rte_memcpy(key.standard_rss_key, vsi->rss_key, vsi->rss_key_size); + memcpy(key.standard_rss_key, vsi->rss_key, vsi->rss_key_size); ret = ice_aq_set_rss_key(hw, vsi->idx, &key); if (ret) goto out; @@ -4244,7 +4243,7 @@ ice_vsi_config_vlan_filter(struct ice_vsi *vsi, bool on) vsi->info.sw_flags2 &= ~sw_flags2; vsi->info.sw_id = hw->port_info->sw_id; - (void)rte_memcpy(&ctxt.info, &vsi->info, sizeof(vsi->info)); + ctxt.info = vsi->info; ctxt.info.valid_sections = rte_cpu_to_le_16(ICE_AQ_VSI_PROP_SW_VALID | ICE_AQ_VSI_PROP_SECURITY_VALID); @@ -4895,7 +4894,7 @@ ice_vsi_vlan_pvid_set(struct ice_vsi *vsi, struct ice_vsi_vlan_pvid_info *info) ICE_AQ_VSI_INNER_VLAN_EMODE_M); vsi->info.inner_vlan_flags |= vlan_flags; memset(&ctxt, 0, sizeof(ctxt)); - rte_memcpy(&ctxt.info, &vsi->info, sizeof(vsi->info)); + memcpy(&ctxt.info, &vsi->info, sizeof(vsi->info)); ctxt.info.valid_sections = rte_cpu_to_le_16(ICE_AQ_VSI_PROP_VLAN_VALID); ctxt.vsi_num = vsi->vsi_id; diff --git a/drivers/net/ice/ice_fdir_filter.c b/drivers/net/ice/ice_fdir_filter.c index 7914ba940731..2ce1cc82927c 100644 --- a/drivers/net/ice/ice_fdir_filter.c +++ b/drivers/net/ice/ice_fdir_filter.c @@ -1195,7 +1195,7 @@ ice_fdir_add_del_raw(struct ice_pf *pf, struct ice_hw *hw = ICE_PF_TO_HW(pf); unsigned char *pkt = (unsigned char *)pf->fdir.prg_pkt; - rte_memcpy(pkt, filter->pkt_buf, filter->pkt_len); + memcpy(pkt, filter->pkt_buf, filter->pkt_len); struct ice_fltr_desc desc; memset(&desc, 0, sizeof(desc)); @@ -1242,13 +1242,13 @@ ice_fdir_extract_fltr_key(struct ice_fdir_fltr_pattern *key, memset(key, 0, sizeof(*key)); key->flow_type = input->flow_type; - rte_memcpy(&key->ip, &input->ip, sizeof(key->ip)); - rte_memcpy(&key->mask, &input->mask, sizeof(key->mask)); - rte_memcpy(&key->ext_data, &input->ext_data, sizeof(key->ext_data)); - rte_memcpy(&key->ext_mask, &input->ext_mask, sizeof(key->ext_mask)); + memcpy(&key->ip, &input->ip, sizeof(key->ip)); + memcpy(&key->mask, &input->mask, sizeof(key->mask)); + memcpy(&key->ext_data, &input->ext_data, sizeof(key->ext_data)); + memcpy(&key->ext_mask, &input->ext_mask, sizeof(key->ext_mask)); - rte_memcpy(&key->gtpu_data, &input->gtpu_data, sizeof(key->gtpu_data)); - rte_memcpy(&key->gtpu_mask, &input->gtpu_mask, sizeof(key->gtpu_mask)); + memcpy(&key->gtpu_data, &input->gtpu_data, sizeof(key->gtpu_data)); + memcpy(&key->gtpu_mask, &input->gtpu_mask, sizeof(key->gtpu_mask)); key->tunnel_type = filter->tunnel_type; } @@ -1376,7 +1376,7 @@ ice_fdir_create_filter(struct ice_adapter *ad, if (!entry) goto error; - rte_memcpy(entry, filter, sizeof(*filter)); + memcpy(entry, filter, sizeof(*filter)); flow->rule = entry; @@ -1437,7 +1437,7 @@ ice_fdir_create_filter(struct ice_adapter *ad, if (filter->mark_flag == 1) ice_fdir_rx_parsing_enable(ad, 1); - rte_memcpy(entry, filter, sizeof(*entry)); + memcpy(entry, filter, sizeof(*entry)); ret = ice_fdir_entry_insert(pf, entry, &key); if (ret) { rte_flow_error_set(error, -ret, @@ -1738,7 +1738,7 @@ ice_fdir_parse_action(struct ice_adapter *ad, act_count = actions->conf; filter->input.cnt_ena = ICE_FXD_FLTR_QW0_STAT_ENA_PKTS; - rte_memcpy(&filter->act_count, act_count, + memcpy(&filter->act_count, act_count, sizeof(filter->act_count)); break; @@ -1951,7 +1951,7 @@ ice_fdir_parse_pattern(__rte_unused struct ice_adapter *ad, u8 *pkt_buf = (u8 *)ice_malloc(&ad->hw, pkt_len + 1); if (!pkt_buf) return -ENOMEM; - rte_memcpy(pkt_buf, tmp_spec, pkt_len); + memcpy(pkt_buf, tmp_spec, pkt_len); filter->pkt_buf = pkt_buf; filter->pkt_len = pkt_len; @@ -1996,11 +1996,11 @@ ice_fdir_parse_pattern(__rte_unused struct ice_adapter *ad, p_ext_data = (tunnel_type && is_outer) ? &filter->input.ext_data_outer : &filter->input.ext_data; - rte_memcpy(&p_ext_data->src_mac, + memcpy(&p_ext_data->src_mac, ð_spec->src, RTE_ETHER_ADDR_LEN); - rte_memcpy(&p_ext_data->dst_mac, + memcpy(&p_ext_data->dst_mac, ð_spec->dst, RTE_ETHER_ADDR_LEN); - rte_memcpy(&p_ext_data->ether_type, + memcpy(&p_ext_data->ether_type, ð_spec->type, sizeof(eth_spec->type)); break; case RTE_FLOW_ITEM_TYPE_IPV4: @@ -2126,8 +2126,8 @@ ice_fdir_parse_pattern(__rte_unused struct ice_adapter *ad, if (ipv6_mask->hdr.hop_limits == UINT8_MAX) *input_set |= ICE_INSET_IPV6_HOP_LIMIT; - rte_memcpy(&p_v6->dst_ip, ipv6_spec->hdr.dst_addr, 16); - rte_memcpy(&p_v6->src_ip, ipv6_spec->hdr.src_addr, 16); + memcpy(&p_v6->dst_ip, ipv6_spec->hdr.dst_addr, 16); + memcpy(&p_v6->src_ip, ipv6_spec->hdr.src_addr, 16); vtc_flow_cpu = rte_be_to_cpu_32(ipv6_spec->hdr.vtc_flow); p_v6->tc = (uint8_t)(vtc_flow_cpu >> ICE_FDIR_IPV6_TC_OFFSET); p_v6->proto = ipv6_spec->hdr.proto; diff --git a/drivers/net/ice/ice_tm.c b/drivers/net/ice/ice_tm.c index 34a0bfcff875..82ae2a740728 100644 --- a/drivers/net/ice/ice_tm.c +++ b/drivers/net/ice/ice_tm.c @@ -330,7 +330,7 @@ ice_shaper_profile_add(struct rte_eth_dev *dev, if (!shaper_profile) return -ENOMEM; shaper_profile->shaper_profile_id = shaper_profile_id; - rte_memcpy(&shaper_profile->profile, profile, + memcpy(&shaper_profile->profile, profile, sizeof(struct rte_tm_shaper_params)); TAILQ_INSERT_TAIL(&pf->tm_conf.shaper_profile_list, shaper_profile, node); @@ -448,8 +448,8 @@ ice_tm_node_add(struct rte_eth_dev *dev, uint32_t node_id, tm_node->reference_count = 0; tm_node->children = (struct ice_tm_node **) rte_calloc(NULL, 256, (sizeof(struct ice_tm_node *)), 0); - rte_memcpy(&tm_node->params, params, - sizeof(struct rte_tm_node_params)); + memcpy(&tm_node->params, params, + sizeof(struct rte_tm_node_params)); pf->tm_conf.root = tm_node; return 0; } From patchwork Tue Jun 7 17:17:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 112494 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2ABA3A0548; Tue, 7 Jun 2022 19:18:14 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A00D2427F4; Tue, 7 Jun 2022 19:17:56 +0200 (CEST) Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) by mails.dpdk.org (Postfix) with ESMTP id BB818427F0 for ; Tue, 7 Jun 2022 19:17:54 +0200 (CEST) Received: by mail-pj1-f46.google.com with SMTP id q12-20020a17090a304c00b001e2d4fb0eb4so21417043pjl.4 for ; Tue, 07 Jun 2022 10:17:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QgGfGr5aPf16UEAKBnZNkuT58w3Bjnm9SUl8gXSpLlw=; b=eGy8FwlarVwprWvxe/DFhtfrt2kEWE9qGYMxpx5eP3Yyv5GqTST3cBHCh1a+OWKYQZ +gmiucYMmTIZKzDtmRhTyeK0gwXq4S0wo5lmA8cNgZHg9/M75tkyek2/d8gsmZ4yWfxV YkD4YJ9MYW9YUW/Jme+x4OQWldHxD/qbRGXj08TdCWUE88rUe3BfprmJkKfBkABJANJj QazcZL2pnDhvRckcxyc96ULk9xFLa+RkMj7EMsXcLhQzh2jPI4U7WYJfWSnejZuB7NfZ ycYXeZ7USNiPw/OfkQNwC6ZN0BcGFKrhd8YqW9fhIGTdPvMpGBAdKNvst6d30KssKqj/ HeaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=QgGfGr5aPf16UEAKBnZNkuT58w3Bjnm9SUl8gXSpLlw=; b=Hbsc5SfgfPr5Obpl8NEtCPV46XlYGXM7SjHquk0sqy1A/JktoZSgv9kYeqdNooeoaH gXCSN04/Bcp4qYrfIF/qQH77CoqCTFCkn8o4VZtD0S177Wu590wJfWdvrPgeSjKWtk7R gF5HOx9ifBXgwoJIJminN5U+GZoRmeXPhYf+yFGwTmZHYLRnHRlsbZqveGoamE347ujE Es0EeCwRrpTTcF6HekU0xsPi395oUW+tgR79JAAbUhma5UvEyxxmZnfWy5blWTBI39TY hPooLTyFBK/AwHNGWCvedCYS95b7RNLoyi1S/UGMaIF4EDYJ3XogaNTdkBeV72vqymjp iA+Q== X-Gm-Message-State: AOAM533wW5isUtQZKDAjiCpah+/kSvgWNvRpGY9F6RNt3QSlnNuf/bDD 0VJsSnz3qh14iqafx4FS5CsIVVPVeo05iA== X-Google-Smtp-Source: ABdhPJxy6+QiVVWDh3Gv5qRz+CE9wouUcwScKrgJn/PrMmUvoonl0lDtwIujAovWznMhVAj/0Yh2FA== X-Received: by 2002:a17:90b:4a90:b0:1e8:626c:e1b2 with SMTP id lp16-20020a17090b4a9000b001e8626ce1b2mr17654314pjb.141.1654622273730; Tue, 07 Jun 2022 10:17:53 -0700 (PDT) Received: from hermes.local (204-195-112-199.wavecable.com. [204.195.112.199]) by smtp.gmail.com with ESMTPSA id x2-20020a627c02000000b005087c23ad8dsm13185281pfc.0.2022.06.07.10.17.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jun 2022 10:17:53 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Konstantin Ananyev Subject: [RFC 4/8] test/ipfrag: fix gcc-12 warnings Date: Tue, 7 Jun 2022 10:17:42 -0700 Message-Id: <20220607171746.461772-5-stephen@networkplumber.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220607171746.461772-1-stephen@networkplumber.org> References: <20220607171746.461772-1-stephen@networkplumber.org> MIME-Version: 1.0 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 Using rte_memcpy is not necessary here. It also causes warnings from derefencing past end of input. Signed-off-by: Stephen Hemminger --- app/test/test_ipfrag.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/app/test/test_ipfrag.c b/app/test/test_ipfrag.c index dc62b0e5475b..ba0ffd080604 100644 --- a/app/test/test_ipfrag.c +++ b/app/test/test_ipfrag.c @@ -23,7 +23,6 @@ test_ipfrag(void) #include #include -#include #include #define NUM_MBUFS 128 @@ -147,13 +146,13 @@ test_get_ipv4_opt(bool is_first_frag, bool opt_copied, if (opt_copied) { expected_opt->len = sizeof(expected_first_frag_ipv4_opts_copied); - rte_memcpy(expected_opt->data, + memcpy(expected_opt->data, expected_first_frag_ipv4_opts_copied, sizeof(expected_first_frag_ipv4_opts_copied)); } else { expected_opt->len = sizeof(expected_first_frag_ipv4_opts_nocopied); - rte_memcpy(expected_opt->data, + memcpy(expected_opt->data, expected_first_frag_ipv4_opts_nocopied, sizeof(expected_first_frag_ipv4_opts_nocopied)); } @@ -161,13 +160,13 @@ test_get_ipv4_opt(bool is_first_frag, bool opt_copied, if (opt_copied) { expected_opt->len = sizeof(expected_sub_frag_ipv4_opts_copied); - rte_memcpy(expected_opt->data, + memcpy(expected_opt->data, expected_sub_frag_ipv4_opts_copied, sizeof(expected_sub_frag_ipv4_opts_copied)); } else { expected_opt->len = sizeof(expected_sub_frag_ipv4_opts_nocopied); - rte_memcpy(expected_opt->data, + memcpy(expected_opt->data, expected_sub_frag_ipv4_opts_nocopied, sizeof(expected_sub_frag_ipv4_opts_nocopied)); } @@ -227,7 +226,7 @@ v4_allocate_packet_of(struct rte_mbuf *b, int fill, size_t s, hdr->src_addr = rte_cpu_to_be_32(0x8080808); hdr->dst_addr = rte_cpu_to_be_32(0x8080404); - rte_memcpy(hdr + 1, opt.data, opt.len); + memcpy(hdr + 1, opt.data, opt.len); } static void @@ -312,7 +311,7 @@ test_get_frag_opt(struct rte_mbuf **mb, int32_t num, char *iph_opt = rte_pktmbuf_mtod_offset(mb[i], char *, sizeof(struct rte_ipv4_hdr)); opt->len = opt_len; - rte_memcpy(opt->data, iph_opt, opt_len); + memcpy(opt->data, iph_opt, opt_len); } else { opt->len = RTE_IPV4_HDR_OPT_MAX_LEN; memset(opt->data, RTE_IPV4_HDR_OPT_EOL, From patchwork Tue Jun 7 17:17:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 112495 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A9CBDA0548; Tue, 7 Jun 2022 19:18:19 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9979B42B6D; Tue, 7 Jun 2022 19:17:57 +0200 (CEST) Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) by mails.dpdk.org (Postfix) with ESMTP id 09C7F42829 for ; Tue, 7 Jun 2022 19:17:56 +0200 (CEST) Received: by mail-pj1-f52.google.com with SMTP id hv24-20020a17090ae41800b001e33eebdb5dso14287572pjb.0 for ; Tue, 07 Jun 2022 10:17:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SVNfZIIlO7BqF61jp/T+YhtCc+dF+9yPquzhpT8QbZ8=; b=JO9xFBmowR7u1xG6i8BYmZXdqgd6PjZq822nUZJLk1+69ZcPWQKDVJn83nO5ICao3Y KduwjJBfDkKu6mmFAEvz1/xNQYfK07DmzpTD3R9/g29vCpFKA2hoFSrNNC7W8xbh2yyJ aimA6t0j0SUj/niz9h3S56tghipTpKIHMeNPN196vCq0gjODuUQahps+SQqn9XhfJ8nf YrW2otiMZQlSKO1d6ST3Y/gmv7MolN2shPMZDFuxVLOHJ/cJtbLkRVs5bgp2fKQuJOGp vzz2n+r04CMRmTHqtDm3kSArocnXt7Vak+us7kQD300YVraRjgtPZ5q8TWforiU5Hu5s X2tQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SVNfZIIlO7BqF61jp/T+YhtCc+dF+9yPquzhpT8QbZ8=; b=kPFFLD84z8cNwpYGEgPilwk3wmpCFJyVlI8HeItiyBiEJWGMUZkQe60Rdl7xAEvJpI zk8TAOquHOQhDEC/UQ952gmJNJ9jRVG4QglFxzsbDSAW8UljFzSUbIWsNSZo+hYEwVMT nkxsVl0hXjUv8XOuqOWcelL+x+bpBMBZkWTys20a6yxguqg9+3cKsEcrgR0049Y99gxo aiDOjQphhIHIs3XPENtuCl9M4zsGrjr2ga65/exdT9ckEE2Tq+K3HwAzkoe77NFLjz6N aPLZCNI7tUO79rYNFacPPAypYl7pzWXg5fn/AjXOQUYV79f1noYXiqe4DacvSiTyzNHM DHIA== X-Gm-Message-State: AOAM531fFuxfnR3nw2IAY+X7mj3EQXHAGlG9kkx56SybpCB3G4ptYgwn R9EsDvP1eCKhIWGzi6ritxm0FFw3uFjEhw== X-Google-Smtp-Source: ABdhPJyNJ12rkk2/NUz40eq7yAwVJ7E6qYrXek4GHP4YnG1k2mH9bzeU6J65gNunALNu+L2M5b9cUg== X-Received: by 2002:a17:902:ee8d:b0:164:7dd:6cc6 with SMTP id a13-20020a170902ee8d00b0016407dd6cc6mr31568827pld.84.1654622274915; Tue, 07 Jun 2022 10:17:54 -0700 (PDT) Received: from hermes.local (204-195-112-199.wavecable.com. [204.195.112.199]) by smtp.gmail.com with ESMTPSA id x2-20020a627c02000000b005087c23ad8dsm13185281pfc.0.2022.06.07.10.17.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jun 2022 10:17:54 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Konstantin Ananyev , Bernard Iremonger , Vladimir Medvedkin Subject: [RFC 5/8] test/ipsec: fix gcc-12 rte_memcpy warnings Date: Tue, 7 Jun 2022 10:17:43 -0700 Message-Id: <20220607171746.461772-6-stephen@networkplumber.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220607171746.461772-1-stephen@networkplumber.org> References: <20220607171746.461772-1-stephen@networkplumber.org> MIME-Version: 1.0 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 It is not necessary to use rte_memcpy here, and it can cause warnings when gcc-12 detects that rte_memcpy will derference past input data. Signed-off-by: Stephen Hemminger --- app/test/test_ipsec.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c index 8da025bf6621..4aa9b346646d 100644 --- a/app/test/test_ipsec.c +++ b/app/test/test_ipsec.c @@ -10,7 +10,6 @@ #include #include #include -#include #include #include #include @@ -569,7 +568,7 @@ setup_test_string(struct rte_mempool *mpool, return NULL; } if (string != NULL) - rte_memcpy(dst, string, t_len); + memcpy(dst, string, t_len); else memset(dst, 0, t_len); } @@ -614,21 +613,21 @@ setup_test_string_tunneled(struct rte_mempool *mpool, const char *string, /* copy outer IP and ESP header */ ipv4_outer.total_length = rte_cpu_to_be_16(t_len); ipv4_outer.packet_id = rte_cpu_to_be_16(seq); - rte_memcpy(dst, &ipv4_outer, sizeof(ipv4_outer)); + memcpy(dst, &ipv4_outer, sizeof(ipv4_outer)); dst += sizeof(ipv4_outer); m->l3_len = sizeof(ipv4_outer); - rte_memcpy(dst, &esph, sizeof(esph)); + memcpy(dst, &esph, sizeof(esph)); dst += sizeof(esph); if (string != NULL) { /* copy payload */ - rte_memcpy(dst, string, len); + memcpy(dst, string, len); dst += len; /* copy pad bytes */ - rte_memcpy(dst, esp_pad_bytes, padlen); + memcpy(dst, esp_pad_bytes, padlen); dst += padlen; /* copy ESP tail header */ - rte_memcpy(dst, &espt, sizeof(espt)); + memcpy(dst, &espt, sizeof(espt)); } else memset(dst, 0, t_len); From patchwork Tue Jun 7 17:17:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 112496 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2C31FA0548; Tue, 7 Jun 2022 19:18:25 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8770942B71; Tue, 7 Jun 2022 19:17:58 +0200 (CEST) Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) by mails.dpdk.org (Postfix) with ESMTP id 7586A427F9 for ; Tue, 7 Jun 2022 19:17:57 +0200 (CEST) Received: by mail-pg1-f173.google.com with SMTP id e66so16441543pgc.8 for ; Tue, 07 Jun 2022 10:17:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=v0BjNk3Yz37J2Q4R6FxCCt/dtl81KLrgAoXeaqP2Jbk=; b=XZ+thQ+zuXKN5TKwTdVmXhaVNbzK1BOUJ4mQorNs2wzn7aChaGKG0XoCY2sI+ITost ZHTw95OWWp+ZvHqOZh/cMwyO6MOAY7G17mxoMXKtATa7JhSSKez5fkGQbQ83p+9nUBjz EgUHwHKJ8ZVo674O6LK1AIdw0eL9GjGcTGqEvsPABlfnUjGs4QzMlVuV6wgDLdyqQUny AE+BEtkWWnbcXjnYa4iFM5p4vhy3mVx0V5yTVG2OMIsciYOuFzTQhN+iNCdOthpEKNBc GwvP2XSwD14dbjC8rCHcHNub/Epw+LJNgHo9YeigE1/aAWapdEAPnofaJ+EkRavYYKWC HGvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=v0BjNk3Yz37J2Q4R6FxCCt/dtl81KLrgAoXeaqP2Jbk=; b=lqyzth9nwKpGLlAvabhhJ38UdMisTN/lbAUkrQZh/Agn/eZWEEGo5CRZFC1GU9mxv1 iUkMr6Poi9PGlyjxiPAfk5iUWvnoBEdB39dPVvlgEwBjFl9dBjMsMlMKRi00e7NBwR4v HzW5gaDulwmQGqTrkZ0yijxLvs9Yj3ZT6hkcqjcR7xWNrr+GPOnK0LrPpGip231u7QXT m6sPDeuYwRtVDmZrfk1ENBHQZ4DgayjLgh8GWcgw8jNFP4D4A3eNw9+0Nol9Ge16DPDb yAPG9eTqdPHEUDWyMQ2JvtY+v4k3x0z0X4WaF1VnmBKeG77t7WQrevAeM/WlspW/8cVR w1/Q== X-Gm-Message-State: AOAM532NlIOh7kbvGxSi9Y/FXjvxTxwZy2bzAkqRItzsqaRkim3UYgoB 1qGExuUt/hodCMlR/RpXCnIMl5a+8TjRVw== X-Google-Smtp-Source: ABdhPJyg/y+b1bGC0DmvAzYTe3S90xY5ruGvp5+/tYgAJsL4tAfb1+w5PUZY/GInxsKA9GFlmRI4Gg== X-Received: by 2002:a62:1553:0:b0:51b:e0fe:ea34 with SMTP id 80-20020a621553000000b0051be0feea34mr23303165pfv.23.1654622276117; Tue, 07 Jun 2022 10:17:56 -0700 (PDT) Received: from hermes.local (204-195-112-199.wavecable.com. [204.195.112.199]) by smtp.gmail.com with ESMTPSA id x2-20020a627c02000000b005087c23ad8dsm13185281pfc.0.2022.06.07.10.17.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jun 2022 10:17:55 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Apeksha Gupta , Sachin Saxena Subject: [RFC 6/8] net/enetfc: fix array out of bounds warning Date: Tue, 7 Jun 2022 10:17:44 -0700 Message-Id: <20220607171746.461772-7-stephen@networkplumber.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220607171746.461772-1-stephen@networkplumber.org> References: <20220607171746.461772-1-stephen@networkplumber.org> MIME-Version: 1.0 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 With gcc-12 it detects that this function could be passed a queue > 1 which would cause out of bounds access. Signed-off-by: Stephen Hemminger --- drivers/net/enetfec/enet_ethdev.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/enetfec/enet_ethdev.c b/drivers/net/enetfec/enet_ethdev.c index 714f8ac7eccc..4956235a10a6 100644 --- a/drivers/net/enetfec/enet_ethdev.c +++ b/drivers/net/enetfec/enet_ethdev.c @@ -454,6 +454,11 @@ enetfec_rx_queue_setup(struct rte_eth_dev *dev, return -EINVAL; } + if (queue_idx >= ENETFEC_MAX_Q) { + ENETFEC_PMD_ERR("Only %u receive queues supported", ENETFEC_MAX_Q); + return -EINVAL; + } + /* allocate receive queue */ rxq = rte_zmalloc(NULL, sizeof(*rxq), RTE_CACHE_LINE_SIZE); if (rxq == NULL) { From patchwork Tue Jun 7 17:17:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 112497 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 58249A0548; Tue, 7 Jun 2022 19:18:32 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F41FC42B7C; Tue, 7 Jun 2022 19:18:00 +0200 (CEST) Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) by mails.dpdk.org (Postfix) with ESMTP id EF49D42B74 for ; Tue, 7 Jun 2022 19:17:58 +0200 (CEST) Received: by mail-pj1-f48.google.com with SMTP id d12-20020a17090abf8c00b001e2eb431ce4so15999561pjs.1 for ; Tue, 07 Jun 2022 10:17:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=zXI2LEwHRrzPbRcBOsbSgP9r692BSJkFZP6Q/hYRx/o=; b=INJJJMSCchQCPLxqNg7NtLCVzTCR94wAW+Kp2IzIDawLUzI+DVw6+35rLADU/kP90Q AWbN0OkL62wDRtb1+pmLFkB5cnMXCC1nclXUkcwlUdvDloxm29M7pGcVdYS3mZJ9enxN erCpt7T0PdjT3A/zt3931fdZZEzRbCRpUkjKXf2aYoXt3fJrp/Z1FjC8nnbFVpDgaIiu tq/ojzohJdVCrfCns5VNY26lewRC2hhYuiWO0a+wR3C3bF5aL2Brg11u+jb/9hfTRa5t UEA7YQ7/CVxCGbUJDKiJRF1Sqkrb7FU0PtoqS2KHBA5sh+MzFnT8vXBGmEptv4Q+X/L9 adQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zXI2LEwHRrzPbRcBOsbSgP9r692BSJkFZP6Q/hYRx/o=; b=FkNLB5CK4C05+MgeuLttPDYg5hHD7++Ca33an6ACdqrjiQgNsu7Hjzkvz6kK1RBZ3M pkfrrL9GcNqzf2/2sc97iO5AR40oOqz8LS8UxtLRgELCKqwGvuHG2jRqh+/5AV5JzQgM wXAIwlybaVwLrRKHk3xve82fnKde5CVXiIwe0jZADVKQk5ClELdWZT8/V23F9sEH7dfe fQviUi0DqMnYSi56DHIpVZtipffqwYPIsyDDPu+8iIyLTM5Xfui6Oh9j3As2WxNwuxFU Ql5BbeuwiSECOWXkVPy0uVZwUImVcmuvZyrts7L/vL9TRQO31bk49zWOye8YI9RIQLZi kaqA== X-Gm-Message-State: AOAM531pzkBnG9eUsTMLLcGYXZ8T6yu/o3Xd2LcUfc945lmmPWrFpOe2 oDPFZD2JuPdPPMUo1xL22rlvWid3kIqbcQ== X-Google-Smtp-Source: ABdhPJwUnkuLWA2XFDNVN1KUJdd9+jXZ5/8uaN04kZC5qi1b28qQi07MpzecQlwcPRZV05Wiy3ENVA== X-Received: by 2002:a17:902:ce8f:b0:163:cc85:ba89 with SMTP id f15-20020a170902ce8f00b00163cc85ba89mr29295302plg.79.1654622277776; Tue, 07 Jun 2022 10:17:57 -0700 (PDT) Received: from hermes.local (204-195-112-199.wavecable.com. [204.195.112.199]) by smtp.gmail.com with ESMTPSA id x2-20020a627c02000000b005087c23ad8dsm13185281pfc.0.2022.06.07.10.17.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jun 2022 10:17:57 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maxime Coquelin , Chenbo Xia Subject: [RFC 7/8] vhost: replace rte_memcpy to fix warning Date: Tue, 7 Jun 2022 10:17:45 -0700 Message-Id: <20220607171746.461772-8-stephen@networkplumber.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220607171746.461772-1-stephen@networkplumber.org> References: <20220607171746.461772-1-stephen@networkplumber.org> MIME-Version: 1.0 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 Using rte_memcpy is not needed here. Just use memcpy() which is safer and just as fast for this non-critical place. Signed-off-by: Stephen Hemminger --- lib/vhost/vhost_crypto.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/vhost/vhost_crypto.c b/lib/vhost/vhost_crypto.c index b1c0eb6a0f97..e8727f076fdd 100644 --- a/lib/vhost/vhost_crypto.c +++ b/lib/vhost/vhost_crypto.c @@ -585,7 +585,7 @@ copy_data(void *dst_data, struct vhost_crypto_data_req *vc_req, if (unlikely(!src || !dlen)) return -1; - rte_memcpy((uint8_t *)data, src, dlen); + memcpy(data, src, dlen); data += dlen; if (unlikely(dlen < to_copy)) { From patchwork Tue Jun 7 17:17:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 112498 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E1CA0A0548; Tue, 7 Jun 2022 19:18:37 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E3DD842B82; Tue, 7 Jun 2022 19:18:01 +0200 (CEST) Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) by mails.dpdk.org (Postfix) with ESMTP id 0F8BE42B7B for ; Tue, 7 Jun 2022 19:18:00 +0200 (CEST) Received: by mail-pl1-f175.google.com with SMTP id o6so10280004plg.2 for ; Tue, 07 Jun 2022 10:17:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=obAcoptY+bJtw5ZiypXNxScwmPVzIlCC+4VV1kSt9vw=; b=k3PirejZgDaF8Ecd1ZQwDZe4RFAWq6i0wBBmSxlhrU2euL/34qZB8Qskq5LNhTYBO6 Ma/KAu6sva4Cg9E+s9v3y9L7aQDl1yfAp2lu9dLyT5HQphMSDWvjkqdWY0AGTv22Cn7N vpOrVhxqM46JfsbD1s8oKCUh1F181JpKztlDdF09mwZdqbZ2ATWQ0lUYX94/YtrJ4Sa3 gKyjYhPeZFoXa/p5aCaMflISvXEFXjN5vG+TmSsTFL7ei2pK1Tj5YV46Gt/HQwe83weI myZip0KUxn4+7h/TGYi3uyGaF8Ez87cSkHwqwUxDtnW+pV1skHPcyJpaPJdJzLHwGBUx B3SQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=obAcoptY+bJtw5ZiypXNxScwmPVzIlCC+4VV1kSt9vw=; b=K+ya9t/W9GYJ/QNcJV6RTrfoa2WXg1xumfGWC9O67XurgXMoYCsycB6+Vq99OQQlUo LG1kqPrrgZvVfHdgDj1QhknGWtt11RPeTNKRrn53nCFX18Bb07BEraqKTy4V/NMwysne umVgRcvLffsczs6MqAqU9tX03g47um6lqGcOz3x5MpAQEw9EcceAZ3B4ezcuq+ZHu4AP JagFitHCV611N7LjE0FS8fCEx6cTgE6TtVryqvLJu41EAZqcrnVuQSEwQDfPGOBk1ro1 ENXu4KKJb5hHXKgOJbMxdHv4BykY7ot2EOONVZwPFjVIk2JYVM+7nFVQpHgPIgfxkHC7 ToMw== X-Gm-Message-State: AOAM533gQctH+w7q0G8J8s42HoUiOM8ONq6Yxl1NL0Tinzt0PGMDbB5l hxs06xhd4+R3P9B2dB80AcBb054rNRB/Ig== X-Google-Smtp-Source: ABdhPJwjDaRXSWeQnKIKyXmUvTOtjfCNy4iNIGfNlC/Fjm0Ql2DTvHG7HICu5ioZ18x5bwJp+uwkyw== X-Received: by 2002:a17:902:c94b:b0:166:4f65:cffb with SMTP id i11-20020a170902c94b00b001664f65cffbmr25123516pla.103.1654622278834; Tue, 07 Jun 2022 10:17:58 -0700 (PDT) Received: from hermes.local (204-195-112-199.wavecable.com. [204.195.112.199]) by smtp.gmail.com with ESMTPSA id x2-20020a627c02000000b005087c23ad8dsm13185281pfc.0.2022.06.07.10.17.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jun 2022 10:17:58 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Konstantin Ananyev Subject: [RFC 8/8] ip_frag: fix gcc-12 warnings Date: Tue, 7 Jun 2022 10:17:46 -0700 Message-Id: <20220607171746.461772-9-stephen@networkplumber.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220607171746.461772-1-stephen@networkplumber.org> References: <20220607171746.461772-1-stephen@networkplumber.org> MIME-Version: 1.0 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 The function rte_memcpy can derference past source buffer which will cause array out of bounds warnings. But there is no good reason to use rte_memcpy instead of memcpy in this code. Memcpy is just as fast for these small inputs, and compiler will optimize. Signed-off-by: Stephen Hemminger --- lib/ip_frag/rte_ipv4_fragmentation.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/ip_frag/rte_ipv4_fragmentation.c b/lib/ip_frag/rte_ipv4_fragmentation.c index a19f6fda6408..27a8ad224dec 100644 --- a/lib/ip_frag/rte_ipv4_fragmentation.c +++ b/lib/ip_frag/rte_ipv4_fragmentation.c @@ -5,7 +5,6 @@ #include #include -#include #include #include "ip_frag_common.h" @@ -26,7 +25,7 @@ static inline void __fill_ipv4hdr_frag(struct rte_ipv4_hdr *dst, const struct rte_ipv4_hdr *src, uint16_t header_len, uint16_t len, uint16_t fofs, uint16_t dofs, uint32_t mf) { - rte_memcpy(dst, src, header_len); + memcpy(dst, src, header_len); fofs = (uint16_t)(fofs + (dofs >> RTE_IPV4_HDR_FO_SHIFT)); fofs = (uint16_t)(fofs | mf << RTE_IPV4_HDR_MF_SHIFT); dst->fragment_offset = rte_cpu_to_be_16(fofs); @@ -48,7 +47,7 @@ static inline uint16_t __create_ipopt_frag_hdr(uint8_t *iph, struct rte_ipv4_hdr *iph_opt = (struct rte_ipv4_hdr *)ipopt_frag_hdr; ipopt_len = 0; - rte_memcpy(ipopt_frag_hdr, iph, sizeof(struct rte_ipv4_hdr)); + memcpy(ipopt_frag_hdr, iph, sizeof(struct rte_ipv4_hdr)); ipopt_frag_hdr += sizeof(struct rte_ipv4_hdr); uint8_t *p_opt = iph + sizeof(struct rte_ipv4_hdr); @@ -65,7 +64,7 @@ static inline uint16_t __create_ipopt_frag_hdr(uint8_t *iph, break; if (RTE_IPV4_HDR_OPT_COPIED(*p_opt)) { - rte_memcpy(ipopt_frag_hdr + ipopt_len, + memcpy(ipopt_frag_hdr + ipopt_len, p_opt, p_opt[1]); ipopt_len += p_opt[1]; }