Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 55e3a839 authored by Yufeng Mo's avatar Yufeng Mo Committed by Greg Kroah-Hartman
Browse files

net: hns3: add a check for queue_id in hclge_reset_vf_queue()



[ Upstream commit 67a69f84cab60484f02eb8cbc7a76edffbb28a25 ]

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: 1a426f8b ("net: hns3: fix the VF queue reset flow error")
Signed-off-by: default avatarYufeng Mo <moyufeng@huawei.com>
Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 9f7c3c83
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -5182,12 +5182,19 @@ void 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);