From patchwork Thu Mar 16 09:48:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ankur Dwivedi X-Patchwork-Id: 125186 X-Patchwork-Delegate: ferruh.yigit@amd.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 B6B6C41EAF; Thu, 16 Mar 2023 10:48:26 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5E0B142B7E; Thu, 16 Mar 2023 10:48:26 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 316EE40FDF for ; Thu, 16 Mar 2023 10:48:24 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32G7gjJu030626; Thu, 16 Mar 2023 02:48:22 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=gligMcDL1tO8DZdTJJWdx2v1u+d3LlUCtAFuT0SW+Ec=; b=SvblEMoBOhW7ug+krBHv48THMSD8IKGCU/g2f7BmUDGMFCgkZ/TRoNnemgOC+pB6b4vf o9cIUnE/Q4DcxLJnZ2Vp55Vc3t6LQ8NTUWe/0qR8v/WA0e/F7SBsl94/3DVtGrI+Tpr+ QkTMT8TQRzIOegz7u26b9qEhhRgh+YqdloIHfFLjUP76NJb5GTPgaebL3Bo6eflJlFgP kxtyDSkyqsrrv+OXT5gCoyJq7usbjjcY1SR3msCFtWEHdhnH39iCvBV8QTbGp/aHvHH0 76SIfyFk2dexZfzHvx8+XPLDaXsaUL+UO6C9giYTPhwpMJRkXnBRoPn/F/1zi6pSarg/ Qw== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3pbxq2rj0v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 16 Mar 2023 02:48:21 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Thu, 16 Mar 2023 02:48:20 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.42 via Frontend Transport; Thu, 16 Mar 2023 02:48:20 -0700 Received: from localhost.localdomain (unknown [10.28.36.185]) by maili.marvell.com (Postfix) with ESMTP id BEF875B6956; Thu, 16 Mar 2023 02:48:16 -0700 (PDT) From: Ankur Dwivedi To: CC: , , , , , , Ankur Dwivedi Subject: [PATCH v1] ethdev: fix address sanitizer bug Date: Thu, 16 Mar 2023 15:18:08 +0530 Message-ID: <20230316094808.3253873-1-adwivedi@marvell.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Proofpoint-GUID: fnfRTNe-rCvZs0XeOGXx91ej5V53irGj X-Proofpoint-ORIG-GUID: fnfRTNe-rCvZs0XeOGXx91ej5V53irGj X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-16_06,2023-03-15_01,2023-02-09_01 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 clang 10 compilation, the address sanitizer reports global buffer overflow issue. The issue is observed during trace point registration in rte_trace_point_emit_string, for strings in iterator structure. As a workaround for this clang issue, this patch removes the rte_trace_point_emit_string and instead adds rte_trace_point_emit_ptr to capture the iterator pointer. Bugzilla ID: 1184 Fixes: 6679cf21d608 ("ethdev: add trace points") Signed-off-by: Ankur Dwivedi Acked-by: Ferruh Yigit Tested-by: Dukai Yuan --- lib/ethdev/ethdev_trace.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/ethdev/ethdev_trace.h b/lib/ethdev/ethdev_trace.h index c57ed08d36..3dc7d028b8 100644 --- a/lib/ethdev/ethdev_trace.h +++ b/lib/ethdev/ethdev_trace.h @@ -100,16 +100,14 @@ RTE_TRACE_POINT( RTE_TRACE_POINT( rte_eth_trace_iterator_next, RTE_TRACE_POINT_ARGS(const struct rte_dev_iterator *iter, uint16_t id), - rte_trace_point_emit_string(iter->bus_str); - rte_trace_point_emit_string(iter->cls_str); + rte_trace_point_emit_ptr(iter); rte_trace_point_emit_u16(id); ) RTE_TRACE_POINT( rte_eth_trace_iterator_cleanup, RTE_TRACE_POINT_ARGS(const struct rte_dev_iterator *iter), - rte_trace_point_emit_string(iter->bus_str); - rte_trace_point_emit_string(iter->cls_str); + rte_trace_point_emit_ptr(iter); ) RTE_TRACE_POINT(