From 2db79a68773b369a2e04a6c2fb3bcb2db6fbda08 Mon Sep 17 00:00:00 2001 From: Xue Date: Mon, 12 Aug 2019 14:33:40 +0800 Subject: [PATCH] net: hinic: fix bug in set vlan driver inclusion category:bugfix bugzilla:4472 CVE:NA ----------------------------------------------------------------------- When the ip link set is configured with the vlan vlan for the first time, the default initial vlan id is 0. When the vlan is deleted, the new vlan id is 0. The non-zero judgment is made when the interface is invoked, resulting in the vlan id being 0. Returns an illegal value directly. This patch fix this bug. Reviewed-by: Guan Xiaodong Signed-off-by: Xue Reviewed-by: Yang Yingliang Signed-off-by: Yang Yingliang --- drivers/net/ethernet/huawei/hinic/hinic_main.c | 2 -- drivers/net/ethernet/huawei/hinic/hinic_nic_cfg.c | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/net/ethernet/huawei/hinic/hinic_main.c b/drivers/net/ethernet/huawei/hinic/hinic_main.c index a2238b97ccef..a4c9b06a808f 100644 --- a/drivers/net/ethernet/huawei/hinic/hinic_main.c +++ b/drivers/net/ethernet/huawei/hinic/hinic_main.c @@ -460,8 +460,6 @@ int hinic_poll(struct napi_struct *napi, int budget) HINIC_MSIX_ENABLE); else if (!nic_dev->in_vm) enable_irq(irq_cfg->irq_id); - } else { - hinic_rx_poll(irq_cfg->rxq, HINIC_RX_BUFFER_WRITE); } return max(tx_pkts, rx_pkts); diff --git a/drivers/net/ethernet/huawei/hinic/hinic_nic_cfg.c b/drivers/net/ethernet/huawei/hinic/hinic_nic_cfg.c index d7796d9dc1b8..8d89d30385e8 100644 --- a/drivers/net/ethernet/huawei/hinic/hinic_nic_cfg.c +++ b/drivers/net/ethernet/huawei/hinic/hinic_nic_cfg.c @@ -346,7 +346,7 @@ int hinic_update_mac_vlan(void *hwdev, u16 old_vlan, u16 new_vlan, int vf_id) u16 func_id, vlan_id; int err; - if (!hwdev || !old_vlan || !new_vlan) + if (!hwdev || old_vlan >= VLAN_N_VID || new_vlan >= VLAN_N_VID) return -EINVAL; vf_info = dev->nic_io->vf_infos + HW_VF_ID_TO_OS(vf_id); -- GitLab