net: hns3: fix for vport->bw_limit overflow problem
authorYunsheng Lin <linyunsheng@huawei.com>
Mon, 15 Apr 2019 13:48:39 +0000 (21:48 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 15 Apr 2019 20:39:19 +0000 (13:39 -0700)
When setting vport->bw_limit to hdev->tm_info.pg_info[0].bw_limit
in hclge_tm_vport_tc_info_update, vport->bw_limit can be as big as
HCLGE_ETHER_MAX_RATE (100000), which can not fit into u16 (65535).

So this patch fixes it by using u32 for vport->bw_limit.

Fixes: 848440544b41 ("net: hns3: Add support of TX Scheduler & Shaper to HNS3 driver")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h

index f04a52f143ae1f56a9af4318e6e3cff60254eb76..e736030ac180ff4fbd7b47a8985f35cb063a7494 100644 (file)
@@ -854,7 +854,7 @@ struct hclge_vport {
        u16 alloc_rss_size;
 
        u16 qs_offset;
-       u16 bw_limit;           /* VSI BW Limit (0 = disabled) */
+       u32 bw_limit;           /* VSI BW Limit (0 = disabled) */
        u8  dwrr;
 
        struct hclge_port_base_vlan_config port_base_vlan_cfg;