Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/130139/?format=api
http://patchwork.dpdk.org/api/patches/130139/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20230811085805.441256-27-ndabilpuram@marvell.com/", "project": { "id": 1, "url": "http://patchwork.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20230811085805.441256-27-ndabilpuram@marvell.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20230811085805.441256-27-ndabilpuram@marvell.com", "date": "2023-08-11T08:58:01", "name": "[27/31] net/cnxk: fix usage of mbuf rearm data", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "10d115f20e94df53879ded5869ce9ea824652741", "submitter": { "id": 1202, "url": "http://patchwork.dpdk.org/api/people/1202/?format=api", "name": "Nithin Dabilpuram", "email": "ndabilpuram@marvell.com" }, "delegate": { "id": 310, "url": "http://patchwork.dpdk.org/api/users/310/?format=api", "username": "jerin", "first_name": "Jerin", "last_name": "Jacob", "email": "jerinj@marvell.com" }, "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20230811085805.441256-27-ndabilpuram@marvell.com/mbox/", "series": [ { "id": 29177, "url": "http://patchwork.dpdk.org/api/series/29177/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=29177", "date": "2023-08-11T08:57:35", "name": "[01/31] common/cnxk: add aura ref count mechanism", "version": 1, "mbox": "http://patchwork.dpdk.org/series/29177/mbox/" } ], "comments": "http://patchwork.dpdk.org/api/patches/130139/comments/", "check": "success", "checks": "http://patchwork.dpdk.org/api/patches/130139/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 66E7B43032;\n\tFri, 11 Aug 2023 11:00:42 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 812A24329E;\n\tFri, 11 Aug 2023 10:59:39 +0200 (CEST)", "from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com\n [67.231.148.174])\n by mails.dpdk.org (Postfix) with ESMTP id C1F1E43247\n for <dev@dpdk.org>; Fri, 11 Aug 2023 10:59:36 +0200 (CEST)", "from pps.filterd (m0045849.ppops.net [127.0.0.1])\n by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id\n 37AMjx5j001610 for <dev@dpdk.org>; Fri, 11 Aug 2023 01:59:36 -0700", "from dc5-exch02.marvell.com ([199.233.59.182])\n by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3sd8yp9rbj-2\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT)\n for <dev@dpdk.org>; Fri, 11 Aug 2023 01:59:35 -0700", "from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com\n (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.48;\n Fri, 11 Aug 2023 01:59:31 -0700", "from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com\n (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.48 via Frontend\n Transport; Fri, 11 Aug 2023 01:59:31 -0700", "from hyd1588t430.caveonetworks.com (unknown [10.29.52.204])\n by maili.marvell.com (Postfix) with ESMTP id BEF6F3F706A;\n Fri, 11 Aug 2023 01:59:28 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;\n h=from : to : cc :\n subject : date : message-id : in-reply-to : references : mime-version :\n content-transfer-encoding : content-type; s=pfpt0220;\n bh=aUsexLW9prYlPTFSoQi+MpR/ebE4AZJounnNyPbSNOY=;\n b=UjBZD/IkEARBmCAE2y4pLuf1qR915Wt7LOZC49sjOS6vwNR8Lj1U1Wtosfj7xZHTMEz1\n nFT9VHA6q3hWIbwx2A4ppzshw5ZHFGqPkUNA2XdFbDq24th85sMPq+xtUXc20oS1yDiU\n ZdTW+WKQl7U8c5GsJJeuExqxIw1anEkl/lcfiCB1Dsl4nGYcfvd74u7tLsl0sdqlzYp3\n X7B92Hux0Y8D7+um6Vi9WOrGqkLZ+/xP18VxBPUl6vBe9etOk1MmIhYMa1CBPNvjzcM+\n Db5l5y+bVwfJvGo9N0KFBwcBvbuiXzjLTq6Hgxcoj65+HmjlHbX+m2yVaLcxNc4wjynx Wg==", "From": "Nithin Dabilpuram <ndabilpuram@marvell.com>", "To": "Nithin Dabilpuram <ndabilpuram@marvell.com>, Kiran Kumar K\n <kirankumark@marvell.com>, Sunil Kumar Kori <skori@marvell.com>, Satha Rao\n <skoteshwar@marvell.com>", "CC": "<jerinj@marvell.com>, <dev@dpdk.org>, Akhil Goyal <gakhil@marvell.com>", "Subject": "[PATCH 27/31] net/cnxk: fix usage of mbuf rearm data", "Date": "Fri, 11 Aug 2023 14:28:01 +0530", "Message-ID": "<20230811085805.441256-27-ndabilpuram@marvell.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20230811085805.441256-1-ndabilpuram@marvell.com>", "References": "<20230811085805.441256-1-ndabilpuram@marvell.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-Proofpoint-ORIG-GUID": "6OeycW9aU6TASo3QP3v9GYz4MKIWyRWz", "X-Proofpoint-GUID": "6OeycW9aU6TASo3QP3v9GYz4MKIWyRWz", "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26\n definitions=2023-08-10_20,2023-08-10_01,2023-05-22_02", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "content": "From: Akhil Goyal <gakhil@marvell.com>\n\nmbuf->rearm_data is a zero length array and it is being\nused to set data from that location. This shows an error\nin static code analysis.\nHence it is typecast to a pointer which can be used to\nset values accordingly.\n\nFixes: c062f5726f61 (\"net/cnxk: support IP reassembly\")\n\nSigned-off-by: Akhil Goyal <gakhil@marvell.com>\n---\n drivers/net/cnxk/cn10k_rx.h | 17 ++++++++++++-----\n 1 file changed, 12 insertions(+), 5 deletions(-)", "diff": "diff --git a/drivers/net/cnxk/cn10k_rx.h b/drivers/net/cnxk/cn10k_rx.h\nindex 55ccf2023c..982fd26045 100644\n--- a/drivers/net/cnxk/cn10k_rx.h\n+++ b/drivers/net/cnxk/cn10k_rx.h\n@@ -510,6 +510,7 @@ nix_sec_meta_to_mbuf(uint64_t cq_w1, uint64_t cq_w5, uintptr_t inb_sa,\n \t\t(const struct cpt_parse_hdr_s *)cpth;\n \tuint64_t mbuf_init = vgetq_lane_u64(*rearm, 0);\n \tstruct cn10k_inb_priv_data *inb_priv;\n+\tuintptr_t p;\n \n \t/* Clear checksum flags */\n \t*ol_flags &= ~(RTE_MBUF_F_RX_L4_CKSUM_MASK |\n@@ -530,7 +531,8 @@ nix_sec_meta_to_mbuf(uint64_t cq_w1, uint64_t cq_w5, uintptr_t inb_sa,\n \t\t\t/* First frag len */\n \t\t\tinner->pkt_len = vgetq_lane_u16(*rx_desc_field1, 2);\n \t\t\tinner->data_len = vgetq_lane_u16(*rx_desc_field1, 4);\n-\t\t\t*(uint64_t *)(&inner->rearm_data) = mbuf_init;\n+\t\t\tp = (uintptr_t)&inner->rearm_data;\n+\t\t\t*(uint64_t *)p = mbuf_init;\n \n \t\t\t/* Reassembly success */\n \t\t\tnix_sec_reassemble_frags(hdr, inner, cq_w1, cq_w5, mbuf_init);\n@@ -545,7 +547,7 @@ nix_sec_meta_to_mbuf(uint64_t cq_w1, uint64_t cq_w5, uintptr_t inb_sa,\n \t\t\t\t\t\t\t *rx_desc_field1, 4);\n \n \t\t\t/* Data offset might be updated */\n-\t\t\tmbuf_init = *(uint64_t *)(&inner->rearm_data);\n+\t\t\tmbuf_init = *(uint64_t *)p;\n \t\t\t*rearm = vsetq_lane_u64(mbuf_init, *rearm, 0);\n \t\t} else {\n \t\t\t/* Reassembly failure */\n@@ -628,6 +630,7 @@ nix_cqe_xtract_mseg(const union nix_rx_parse_u *rx, struct rte_mbuf *mbuf,\n \tuint64_t cq_w1;\n \tint64_t len;\n \tuint64_t sg;\n+\tuintptr_t p;\n \n \tcq_w1 = *(const uint64_t *)rx;\n \tif (flags & NIX_RX_REAS_F)\n@@ -703,7 +706,8 @@ nix_cqe_xtract_mseg(const union nix_rx_parse_u *rx, struct rte_mbuf *mbuf,\n \n \t\tmbuf->data_len = sg_len;\n \t\tsg = sg >> 16;\n-\t\t*(uint64_t *)(&mbuf->rearm_data) = rearm & ~0xFFFF;\n+\t\tp = (uintptr_t)&mbuf->rearm_data;\n+\t\t*(uint64_t *)p = rearm & ~0xFFFF;\n \t\tnb_segs--;\n \t\tiova_list++;\n \n@@ -753,7 +757,8 @@ nix_cqe_xtract_mseg(const union nix_rx_parse_u *rx, struct rte_mbuf *mbuf,\n \t\t\thead->nb_segs = nb_segs;\n \t\t}\n \t\tmbuf = next_frag;\n-\t\t*(uint64_t *)(&mbuf->rearm_data) = rearm + ldptr;\n+\t\tp = (uintptr_t)&mbuf->rearm_data;\n+\t\t*(uint64_t *)p = rearm + ldptr;\n \t\tmbuf->data_len = (sg & 0xFFFF) - ldptr -\n \t\t\t\t (flags & NIX_RX_OFFLOAD_TSTAMP_F ?\n \t\t\t\t CNXK_NIX_TIMESYNC_RX_OFFSET : 0);\n@@ -781,6 +786,7 @@ cn10k_nix_cqe_to_mbuf(const struct nix_cqe_hdr_s *cq, const uint32_t tag,\n \tconst uint64_t w1 = *(const uint64_t *)rx;\n \tuint16_t len = rx->pkt_lenm1 + 1;\n \tuint64_t ol_flags = 0;\n+\tuintptr_t p;\n \n \tif (flag & NIX_RX_OFFLOAD_PTYPE_F)\n \t\tmbuf->packet_type = nix_ptype_get(lookup_mem, w1);\n@@ -818,7 +824,8 @@ cn10k_nix_cqe_to_mbuf(const struct nix_cqe_hdr_s *cq, const uint32_t tag,\n \t\tmbuf->ol_flags = ol_flags;\n \t\tmbuf->pkt_len = len;\n \t\tmbuf->data_len = len;\n-\t\t*(uint64_t *)(&mbuf->rearm_data) = val;\n+\t\tp = (uintptr_t)&mbuf->rearm_data;\n+\t\t*(uint64_t *)p = val;\n \t}\n \n \tif (flag & NIX_RX_MULTI_SEG_F)\n", "prefixes": [ "27/31" ] }{ "id": 130139, "url": "