mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 05:12:49 +00:00
net: hns3: add a check for queue_id in hclge_reset_vf_queue()
[ Upstream commit67a69f84ca
] The queue_id is received from vf, if use it directly, an out-of-bound issue may be caused, so add a check for this queue_id before using it in hclge_reset_vf_queue(). Fixes:1a426f8b40
("net: hns3: fix the VF queue reset flow error") Signed-off-by: Yufeng Mo <moyufeng@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
a045956a3b
commit
beb85f4927
1 changed files with 7 additions and 0 deletions
|
@ -8563,12 +8563,19 @@ int hclge_reset_tqp(struct hnae3_handle *handle, u16 queue_id)
|
|||
|
||||
void hclge_reset_vf_queue(struct hclge_vport *vport, u16 queue_id)
|
||||
{
|
||||
struct hnae3_handle *handle = &vport->nic;
|
||||
struct hclge_dev *hdev = vport->back;
|
||||
int reset_try_times = 0;
|
||||
int reset_status;
|
||||
u16 queue_gid;
|
||||
int ret;
|
||||
|
||||
if (queue_id >= handle->kinfo.num_tqps) {
|
||||
dev_warn(&hdev->pdev->dev, "Invalid vf queue id(%u)\n",
|
||||
queue_id);
|
||||
return;
|
||||
}
|
||||
|
||||
queue_gid = hclge_covert_handle_qid_global(&vport->nic, queue_id);
|
||||
|
||||
ret = hclge_send_reset_tqp_cmd(hdev, queue_gid, true);
|
||||
|
|
Loading…
Reference in a new issue