Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp4142446pxb; Mon, 27 Sep 2021 10:14:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzaYRk62y9HdLXjGrcqVMVKcYibfS2Bs7PtKbWKQaO7uXNn6idti8Rdku/Sk+92od9npqvS X-Received: by 2002:a17:90b:224b:: with SMTP id hk11mr155544pjb.231.1632762880378; Mon, 27 Sep 2021 10:14:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632762880; cv=none; d=google.com; s=arc-20160816; b=agXRvn7/0LuMLWKswyXn+ORsorfu71iB77A0jthYytuCg69/o9gxgx44w44e3ByXiZ 1mVkxd2C+M2DXw8Xni4v2158j7SVbbqFT4OMxt260R2LNa0g/6NlEbSsYDlLGHXFLAuu v+ElKSKW2i+DCPrceUH6fsz24c1rcmEgYrrcCGwmbUWXnWROzx6SJAebDj5jJaR3gcE0 Yyj9sC4K/4W3Lea/VldaNIM7U8Cmvxhtv4n2K/vCiKbNioVEo0dSkLuLbXAa1bUHUaNY Fz9+ioo4VUKxvSvGKrjxN1wBIwO7Yn8SXOLaJHGjpJEg9EHZHreCXQiFE4lZjUOor0qe rtKg== 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=vBkyYGTsy5HMSaGgBQEkGrTpSjLFNepflvbo2NNe8ws=; b=d4nnW9mqA3cSAutVxiz7mURI/X/p69oz5hrKtuzIDfCljNGvbQTZrKPCcz9awT2Nw2 2P621DPqCYV8OnoIe+TWj+HacWaWJGmSkws8VlsES5evNjCK0X0FGr1WPvkF4hGzVvZe /ypNA9sdjM3Q8R0GHwZtVskVSdddo+OsFInHjY4eSuC2fun5FSgIsBQnGS8TDxSiJDmV WeY1V3mIEAyVHKDqxGOI5RFwYKskZdzbGiuDqg1eDafiSjOJHM+VesDRfLTO/6pYXglh HACs4UNaiwAJ/F0fIm6JNv2Ar6tBKwALNFnEZ6smN0EDm+zAk3fB0cKFxxEJz9CUfPGV cjGQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="w1XfGAC/"; 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 z12si21886058pfg.273.2021.09.27.10.14.27; Mon, 27 Sep 2021 10:14:40 -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="w1XfGAC/"; 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 S236630AbhI0RM5 (ORCPT + 99 others); Mon, 27 Sep 2021 13:12:57 -0400 Received: from mail.kernel.org ([198.145.29.99]:46024 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236052AbhI0RKt (ORCPT ); Mon, 27 Sep 2021 13:10:49 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id ED76661252; Mon, 27 Sep 2021 17:08:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1632762484; bh=RMc65/Qoy7hdYNxTvmFi7XWTegQgZsJPPC8upN/Yw3Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=w1XfGAC/3ddE5yjtqW6I3R50zqS/WhVBG6GjCeMypJmF6aG3O4Dz+ZiJrUMO5Ey/k YS7l+66Tk17RRrszu0GX1hYIssSkNTyoU8hRLBgtmMu96jKhOnnBhsCciqkwUp0lqq qTUJARZ4dYueHMkRu0/k1+h77BCyTBbRmruRZXKc= 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.10 040/103] net: hns3: check queue id range before using Date: Mon, 27 Sep 2021 19:02:12 +0200 Message-Id: <20210927170227.128766674@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210927170225.702078779@linuxfoundation.org> References: <20210927170225.702078779@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 8c528ea33406..8932af32e89d 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c @@ -581,9 +581,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