From: Min Hu (Connor) Date: Tue, 17 Mar 2020 09:12:05 +0000 (+0800) Subject: net/hns3: fix configuring illegal VLAN PVID X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=d33fb7f939e6fb9c7882b57e9c3c0fab68c16874;p=dpdk.git net/hns3: fix configuring illegal VLAN PVID The VLAN pvid ranges from 0 to 4095. The hns3 PMD driver does not support this situation that the VLAN pvid is larger than Maximum VLAN ID(4095). Fixes: 411d23b9eafb ("net/hns3: support VLAN") Cc: stable@dpdk.org Signed-off-by: Min Hu (Connor) Signed-off-by: Wei Hu (Xavier) --- diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index fe6b21fd12..a715354573 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -873,6 +873,12 @@ hns3_vlan_pvid_set(struct rte_eth_dev *dev, uint16_t pvid, int on) struct hns3_hw *hw = &hns->hw; int ret; + if (pvid > RTE_ETHER_MAX_VLAN_ID) { + hns3_err(hw, "Invalid vlan_id = %u > %d", pvid, + RTE_ETHER_MAX_VLAN_ID); + return -EINVAL; + } + rte_spinlock_lock(&hw->lock); ret = hns3_vlan_pvid_configure(hns, pvid, on); rte_spinlock_unlock(&hw->lock);