mirror of
https://github.com/torvalds/linux.git
synced 2024-11-18 01:51:53 +00:00
net: hns3: Fixes the out of bounds access in hclge_map_tqp
This patch fixes the handling of the check when number of vports
are detected to be more than available TPQs. Current handling causes
an out of bounds access in hclge_map_tqp().
Fixes: 7df7dad633
("net: hns3: Refactor the mapping of tqp to vport")
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
35f58fd792
commit
38e62046d4
@ -1459,8 +1459,11 @@ static int hclge_alloc_vport(struct hclge_dev *hdev)
|
||||
/* We need to alloc a vport for main NIC of PF */
|
||||
num_vport = hdev->num_vmdq_vport + hdev->num_req_vfs + 1;
|
||||
|
||||
if (hdev->num_tqps < num_vport)
|
||||
num_vport = hdev->num_tqps;
|
||||
if (hdev->num_tqps < num_vport) {
|
||||
dev_err(&hdev->pdev->dev, "tqps(%d) is less than vports(%d)",
|
||||
hdev->num_tqps, num_vport);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* Alloc the same number of TQPs for every vport */
|
||||
tqp_per_vport = hdev->num_tqps / num_vport;
|
||||
|
Loading…
Reference in New Issue
Block a user