From patchwork Mon Jan 17 14:36:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Ferruh Yigit X-Patchwork-Id: 105925 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 6C072A00C3; Mon, 17 Jan 2022 15:36:41 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 175FE4121E; Mon, 17 Jan 2022 15:36:41 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 1440040141 for ; Mon, 17 Jan 2022 15:36:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642430199; x=1673966199; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=w5OcBDZ1oQ9kQBLQpBBl4vqDSBesOVrbTBy5gvHhJ80=; b=Fhw4Tl4cJ3f36Fh4pd65vfswLp11xMPcoB3HIqBzy9QSVNHmKqlbTlnz f2QEaUI6DZ47b/LnkLuB98jkjuJI36s+GMi0Q8J8QUYreKx07nvh2C1HE 1eulQtn1sipfWeO0oaf9dMVedW+XR5HgVCtpqMVp+zen74/eDBUVdRVrJ FApuyxRZ569lp1SgAaW3pFE8Me4J6zWXjds7o2HfSeC+06rCP4a8O4xk0 BUuANypfmxj2ZSeVZGG71l9dDmhfxDuOARWjeH+AHuKAFrtBPyMOtkgKg t5DqBiiCjFMZ0aJS5oJnGch8SBhocGUaQxvU7eqBuv1VZMJug5/tUrCri A==; X-IronPort-AV: E=McAfee;i="6200,9189,10229"; a="330985847" X-IronPort-AV: E=Sophos;i="5.88,295,1635231600"; d="scan'208";a="330985847" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jan 2022 06:36:38 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,295,1635231600"; d="scan'208";a="517434606" Received: from silpixa00399752.ir.intel.com (HELO silpixa00399752.ger.corp.intel.com) ([10.237.222.27]) by orsmga007.jf.intel.com with ESMTP; 17 Jan 2022 06:36:36 -0800 From: Ferruh Yigit To: Rahul Lakkireddy Cc: dev@dpdk.org, Ferruh Yigit Subject: [PATCH] net/cxgbe: fix dangling pointer for gcc12 Date: Mon, 17 Jan 2022 14:36:30 +0000 Message-Id: <20220117143630.3044764-1-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.34.1 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 Observed with: gcc (GCC) 12.0.0 20220116 (experimental) In file included from ../lib/eal/linux/include/rte_os.h:14, from ../lib/eal/include/rte_common.h:28, from ../lib/eal/include/rte_log.h:25, from ../lib/ethdev/rte_ethdev.h:164, from ../lib/ethdev/ethdev_driver.h:18, from ../drivers/net/cxgbe/base/t4vf_hw.c:6: In function ‘t4_os_atomic_add_tail’, inlined from ‘t4vf_wr_mbox_core’ at ../drivers/net/cxgbe/base/t4vf_hw.c:115:2: ../drivers/net/cxgbe/base/adapter.h:742:9: error: storing the address of local variable ‘entry’ in ‘((struct mbox_list *)adapter)[96].tqh_last’ [-Werror=dangling-pointer=] 742 | TAILQ_INSERT_TAIL(head, entry, next); | ^~~~~~~~~~~~~~~~~ ../drivers/net/cxgbe/base/t4vf_hw.c: In function ‘t4vf_wr_mbox_core’: ../drivers/net/cxgbe/base/t4vf_hw.c:86:27: note: ‘entry’ declared here 86 | struct mbox_entry entry; | ^~~~~ ../drivers/net/cxgbe/base/t4vf_hw.c:86:27: note: ‘adapter’ declared here It is a valid compiler warning, make local variable a global one. Signed-off-by: Ferruh Yigit --- Fix is done in a quickest way, mainly to report the issue, please feel free to suggest another solution for the build error. --- drivers/net/cxgbe/base/t4vf_hw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/cxgbe/base/t4vf_hw.c b/drivers/net/cxgbe/base/t4vf_hw.c index 561d759dbc0d..b42c4e78eba9 100644 --- a/drivers/net/cxgbe/base/t4vf_hw.c +++ b/drivers/net/cxgbe/base/t4vf_hw.c @@ -83,7 +83,7 @@ int t4vf_wr_mbox_core(struct adapter *adapter, u32 mbox_ctl = T4VF_CIM_BASE_ADDR + A_CIM_VF_EXT_MAILBOX_CTRL; __be64 cmd_rpl[MBOX_LEN / 8]; - struct mbox_entry entry; + static struct mbox_entry entry; unsigned int delay_idx; u32 v, mbox_data; const __be64 *p;