Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1607567

[PATCH 2/3] net: hns: fix uninitialized data use

Path csiph.com!aioe.org!bofh.it!news.nic.it!robomod
From Arnd Bergmann <arnd@arndb.de>
Newsgroups linux.kernel
Subject [PATCH 2/3] net: hns: fix uninitialized data use
Date Thu, 23 Mar 2017 16:00:01 +0100
Message-ID <tocnv-3Ak-1@gated-at.bofh.it> (permalink)
References <tocnv-3Ak-3@gated-at.bofh.it>
X-Original-To Yisen Zhuang <yisen.zhuang@huawei.com>, Salil Mehta <salil.mehta@huawei.com>, "David S. Miller" <davem@davemloft.net>
X-Mailer git-send-email 2.9.0
X-Provags-ID V03:K0:3Ht0iBDXt3tf1w2u+xv/Pf3KNPcHHd+v6a0KqX8CB8kfL8KSHvt aqx4r0EhQNJZPZXyldBSSDM2e6xKrDZ2GQtheDOAeH3FqMirbOAXFmF153hpcHROcK1+wd2 ObfUQbHa+I/+G7VPHzHydv7y4Sr6D2QYw+SuD/WCSPwJrRZgZz6r+v35TgjcX/KATg57F/9 vKWaOnxMi9Sk6SgKsIdTQ==
X-Ui-Out-Filterresults notjunk:1;V01:K0:w/sB0xIqIt4=:0/UcJKDaVeRh3AbZj4nRdZ d6V2U17jfPX6Y4uKhRt9F+JKxGIqyNBVWoenmOLirHpb7Zkf49KZ8KF3WHohYAIBbomcQFWNT MrIfYiGDAOwioqoI/AmBex5CH5x1rEhuI8rmufk4CrIn3CKYR8deDqZOBG2JVX+6oq2bu0yBE S/13HQlSw3zzrNsJlEE81z5G22FCUA2/RWIRMwNnA6WvoG1vjX8rP5hyxHYwoEb35oGKqihLZ rPafSxkaPsE0Fr/XxjbXc0rCkmF72qdBtD7eUL/ybRFf3Qg6YMMJvU/Y1+b8iEPc3vb8x466f Oy4aG5dD839i5hX2jSwCFRaEgtu0Rs/aLKDHplk3cMQT/N4P14heCIT6MmzL9xM84X2oXJoxK mewdNW1WI0yi3LJ1WSoTXLWnj+7SH6AAKHjyYLSXN54qv6mwVnLAqL2Xj491+kMh45tEmrZzU SBg3VzyyHUhY9zLsTDqkyD/Pg2Xw4ig5dNfjZw65LBNAsk5ntxh6R7JQnHSCfPBYd2Dnr7O7o Tyw4+3ZhFIvK1PfdRT65gV0M2eVcRySC3GFxX+hOytZKnjbcGrQeTbF44QPJt1pl/GJoMBoFF QbB7nGMFE/1TWXSD2uhOcFx571WCMvQ1nDH8FB9oLWmIxRSmnkR/nkTviK5tkfhYZ3ioNmoSi jIyIc6bJF8YPE1061mJnyp1FgSubCyN63pDRJ5FkyM0v9krnlbPcQS8t2awccQBg8cqU=
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 37
Organization linux.* mail to news gateway
X-Original-Cc Arnd Bergmann <arnd@arndb.de>, Daode Huang <huangdaode@hisilicon.com>, Qianqian Xie <xieqianqian@huawei.com>, Kejian Yan <yankejian@huawei.com>, oulijun <oulijun@huawei.com>, Wei Yongjun <weiyongjun1@huawei.com>, netdev@vger.kernel.org, linux-kernel@vger.kernel.org
X-Original-Date Thu, 23 Mar 2017 15:55:51 +0100
X-Original-Message-ID <20170323145610.54695-2-arnd@arndb.de>
X-Original-References <20170323145610.54695-1-arnd@arndb.de>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1607567

Show key headers only | View raw


When dev_dbg() is enabled, we print uninitialized data, as gcc-7.0.1
now points out:

ethernet/hisilicon/hns/hns_dsaf_main.c: In function 'hns_dsaf_set_promisc_tcam':
ethernet/hisilicon/hns/hns_dsaf_main.c:2947:75: error: 'tbl_tcam_data.low.val' may be used uninitialized in this function [-Werror=maybe-uninitialized]
ethernet/hisilicon/hns/hns_dsaf_main.c:2947:75: error: 'tbl_tcam_data.high.val' may be used uninitialized in this function [-Werror=maybe-uninitialized]

We also pass the data into hns_dsaf_tcam_mc_cfg(), which might later
use it (not sure about that), so it seems safer to just always initialize
the tbl_tcam_data structure.

Fixes: 1f5fa2dd1cfa ("net: hns: fix for promisc mode in HNS driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c
index 1ec6d4bb6044..403ea9db6dbd 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c
+++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c
@@ -2925,10 +2925,11 @@ void hns_dsaf_set_promisc_tcam(struct dsaf_device *dsaf_dev,
 	/* find the tcam entry index for promisc */
 	entry_index = dsaf_promisc_tcam_entry(port);
 
+	memset(&tbl_tcam_data, 0, sizeof(tbl_tcam_data));
+	memset(&tbl_tcam_mask, 0, sizeof(tbl_tcam_mask));
+
 	/* config key mask */
 	if (enable) {
-		memset(&tbl_tcam_data, 0, sizeof(tbl_tcam_data));
-		memset(&tbl_tcam_mask, 0, sizeof(tbl_tcam_mask));
 		dsaf_set_field(tbl_tcam_data.low.bits.port_vlan,
 			       DSAF_TBL_TCAM_KEY_PORT_M,
 			       DSAF_TBL_TCAM_KEY_PORT_S, port);
-- 
2.9.0

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[PATCH 2/3] net: hns: fix uninitialized data use Arnd Bergmann <arnd@arndb.de> - 2017-03-23 16:00 +0100

csiph-web