mirror of https://gitee.com/openkylin/linux.git
net: hns: fix uninitialized data use
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: 1f5fa2dd1c
("net: hns: fix for promisc mode in HNS driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b1977682a3
commit
a17f1861b5
|
@ -2924,10 +2924,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);
|
||||
|
|
Loading…
Reference in New Issue