Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp4149865pxb; Mon, 27 Sep 2021 10:24:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzGyGgPHuA9PMWAI+14MK80bY9ok3dlljZBiGq9ijiAGHroPPFvqTGUZVPJXxtpiOxSPsBx X-Received: by 2002:a17:90b:1642:: with SMTP id il2mr219175pjb.167.1632763456876; Mon, 27 Sep 2021 10:24:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632763456; cv=none; d=google.com; s=arc-20160816; b=WBfdzf+cYrBz+oGO5/By56ckv7LxDXZSesu/kLz/8ghktwbwOke9mjIhb/LEUczLER QOa8HqtEi57rj9u98oeG3aHrS37rULRnrQvYkz68H99IKEoXe3B0pcmzapnPgYMjtR04 X7tiToIZ67rrxHLNWSCUEBwd+dzsonWP7MHXncbGK57qSAgbg/rDok7BHU9De2fh9xLk DvuOAZ6MolmkCs3AdJR8eGYtP8jQGZukWIpGK6IgRC6EqBbBggU6xQGdlXT9hY1MMgze +hDalsiDlAUvzCsCg2FlAHRSKL45W3AMUxpWNbL+lVhfPIw+bJXkQsWo+gXW/56WmO6T lJHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=xFKNwYSYeqfxmc2FXLNEYsq6ClhbhanICFpYA/NTQ+Y=; b=qY1xjKEHv0O95rVASqel2LD2ngMmYNF/JviqFdDzck3ibEp3NZUDfWKdw2At154Psi e0QraSqevL9NsfYXsp6xeqNt+zvjHQ7n334Mx8u5J4HDw3duH8gwZ02+r3ANJYSiW06r oG3Xa4ry7F890AfFh5/2n7EbIRVxrRIZjDzcU699dnVHMR9RfG7JHZU0b9hDvEV53Gqn 0LhlJ1JuQdlBNjxsCxx1NhkLXqae+kERdzvhDzDB0SHOrsqflL3jn4GC+Wrq4IzDWaUj 18QsL34qnZAr+S1xNmhcRFaoVK4o4gPpWPO/DM+4lW3msh+6a4amUUdO/Bhrc4Hr4rdk FfAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=sooUIp3y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v70si12412480pgd.631.2021.09.27.10.24.04; Mon, 27 Sep 2021 10:24:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=sooUIp3y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237312AbhI0RYw (ORCPT + 99 others); Mon, 27 Sep 2021 13:24:52 -0400 Received: from mail.kernel.org ([198.145.29.99]:36852 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237119AbhI0RV2 (ORCPT ); Mon, 27 Sep 2021 13:21:28 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id CD4DA61354; Mon, 27 Sep 2021 17:13:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1632762825; bh=t/SA1DhEuCKXKOztdgcGndYk60fY7ugI9AnxuDRSGms=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sooUIp3yhOIihuKuGoqEy3715UNU+bJWzHBWp4KTOQPTuiq3NL2uyt1tlanr7MHV2 ZOrlYFNZ6CnxwV87+p1LzS29UFdT5mYUbqmpzieGxl6axJfUBK51saw5EH8Vn+ZlhV Xaqwdp2apinGHY49zaL4ngJpOP8sj5tcKVpzWV7M= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Yufeng Mo , Guangbin Huang , "David S. Miller" , Sasha Levin Subject: [PATCH 5.14 066/162] net: hns3: check queue id range before using Date: Mon, 27 Sep 2021 19:01:52 +0200 Message-Id: <20210927170235.747671577@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210927170233.453060397@linuxfoundation.org> References: <20210927170233.453060397@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Yufeng Mo [ Upstream commit 63b1279d9905100a14da9e043de7b28e99dba3f8 ] The input parameters may not be reliable. Before using the queue id, we should check this parameter. Otherwise, memory overwriting may occur. Fixes: d34100184685 ("net: hns3: refactor the mailbox message between PF and VF") Signed-off-by: Yufeng Mo Signed-off-by: Guangbin Huang Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c index 91c32f99b644..c1a4b79a7050 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c @@ -588,9 +588,17 @@ static void hclge_get_queue_id_in_pf(struct hclge_vport *vport, struct hclge_mbx_vf_to_pf_cmd *mbx_req, struct hclge_respond_to_vf_msg *resp_msg) { + struct hnae3_handle *handle = &vport->nic; + struct hclge_dev *hdev = vport->back; u16 queue_id, qid_in_pf; memcpy(&queue_id, mbx_req->msg.data, sizeof(queue_id)); + if (queue_id >= handle->kinfo.num_tqps) { + dev_err(&hdev->pdev->dev, "Invalid queue id(%u) from VF %u\n", + queue_id, mbx_req->mbx_src_vfid); + return; + } + qid_in_pf = hclge_covert_handle_qid_global(&vport->nic, queue_id); memcpy(resp_msg->data, &qid_in_pf, sizeof(qid_in_pf)); resp_msg->len = sizeof(qid_in_pf); -- 2.33.0