From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934882AbdCWO5b (ORCPT ); Thu, 23 Mar 2017 10:57:31 -0400 Received: from mout.kundenserver.de ([212.227.126.135]:65506 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934286AbdCWO5U (ORCPT ); Thu, 23 Mar 2017 10:57:20 -0400 From: Arnd Bergmann To: Yisen Zhuang , Salil Mehta , "David S. Miller" Cc: Arnd Bergmann , Daode Huang , Qianqian Xie , Kejian Yan , oulijun , Wei Yongjun , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/3] net: hns: fix uninitialized data use Date: Thu, 23 Mar 2017 15:55:51 +0100 Message-Id: <20170323145610.54695-2-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20170323145610.54695-1-arnd@arndb.de> References: <20170323145610.54695-1-arnd@arndb.de> 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: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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