From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 51677468E4 for ; Thu, 12 Jun 2025 23:09:28 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4C20F42E48; Thu, 12 Jun 2025 23:09:28 +0200 (CEST) Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by mails.dpdk.org (Postfix) with ESMTP id 1557242DD9 for ; Thu, 12 Jun 2025 23:09:27 +0200 (CEST) Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-3a36748920cso1266066f8f.2 for ; Thu, 12 Jun 2025 14:09:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749762567; x=1750367367; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gOATIb2awRJtanSWt5ndfynyZDaYiJ1Z8SQbGQf45gA=; b=KM18XTojtgMait5zgYIbDtP2tqocOICw7pI7xdXgam5YMkJdmRXgq03tCJYvsTMbLo So3MjGNGW9F8dj2bbMDw1SSLZhzK4V13RjtnW1GHDHDF8paw6BXtIlNuMrRkjwbQ2OoN GwAYmOxmmnS4qGeYZxcsQVrhFfjZWGbhzV3DQWTkzEu2eQzAsyK94xkQXgFQG/l/At10 7FNqJn6O2R2zhMD5Fy55r+9qj3BZKiVSZ43cGempOICwuJKbrWeO4bf3uLHF9xCx41WG Rbv4Vin6ePON8BWzJFB53MeL30hljCa/MBc/i0gKSMXqd8uU9IlZrnzztbDOPSPT8RPK 1+iA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749762567; x=1750367367; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gOATIb2awRJtanSWt5ndfynyZDaYiJ1Z8SQbGQf45gA=; b=TvtN2L1m5f43kfqqTix+P5sMbB4Fkd9pOQFRpxmQwKkleIRyMZc7+lfWWmGfDVPAUG i4/KijN+urQGS1Ze1xhS+OPFaDiYfIWGkrWAoD9s3y3kENmp5NboHyWY5USIZveyJI1O TUPsPVUm0IBPbyvIZX6JY7Z5GXMNJptbg+RDhwH9BvIRfTGyuYjbOAOxsc3CK31aLCES 8IMPSQMKK0vWsEYemWC59qok3dRa9P16d7m2DoGCMChlspoRQPwclvZwFBMbvTwsxx9S XW8Q73Mwls42Wv0+7ADFyVU7Jplk/9WvMuR52dxGefiCQOkEIKDzhqfX/lG8ufxJytCJ A5TQ== X-Gm-Message-State: AOJu0YwgiHy6byIJYCD2GiRKsGqTENgiTXmrk3F5k29JyYv3d99vu3Zf q21E0bqIFxeCReXQxmdbG5FFvrXNCmrSnbfi/w9MXadqpb/ER9dKEWkaroiXkS4D X-Gm-Gg: ASbGncvdsCVcSaaP/rav13GfP4bD8XZ+MCSnynZWcoXB+AclwwZsOQsIoQpZibu4XvY mSDMpS5moyzEXjDB818m3Hw3Ee2lMpTxM+3wnZFq6mh+pQb7CVAyCzdj9MvkqAGzaKKHWwza5Ke 8YzXkc3IzY/9Jq0THd+Aouoj6/1IpsUAa6utl+fBKz+hDl1La4msGBfSwa3SZV3joL3TzpUll/m WRMOSPlDJtkFUnjzvfdQdPZrgXltCfFQ+dFV32z3gtKZFj/LoAslrY7tLHXtmJNjJ+ErvzavujX cRtm1b4sQXAc/MoLyFV+7GcUeqNDwvl9N6u6beW7AWriLaFnaa1MJHwu3elUnLF+vSdL X-Google-Smtp-Source: AGHT+IEvtBnyMETc/9BV+SDqTMqxbRYNl9DxN7UE7SmX91BpEyUg3cAT5BpgQL7exMyPSuncSILq6g== X-Received: by 2002:a05:6000:4304:b0:3a5:27ba:47d0 with SMTP id ffacd0b85a97d-3a568791d8dmr622851f8f.56.1749762566524; Thu, 12 Jun 2025 14:09:26 -0700 (PDT) Received: from localhost ([2a01:4b00:d036:ae00:f2df:571a:ae4c:bef2]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3a568b5c372sm355748f8f.89.2025.06.12.14.09.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 14:09:26 -0700 (PDT) From: luca.boccassi@gmail.com To: Dengdui Huang Cc: dpdk stable Subject: patch 'net/hns3: fix divide by zero' has been queued to stable release 22.11.9 Date: Thu, 12 Jun 2025 22:06:49 +0100 Message-ID: <20250612210733.2506558-32-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250612210733.2506558-1-luca.boccassi@gmail.com> References: <20250612210733.2506558-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 22.11.9 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 06/14/25. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/077396a3d01ceea19bab0085584c9ceb45819fcc Thanks. Luca Boccassi --- >From 077396a3d01ceea19bab0085584c9ceb45819fcc Mon Sep 17 00:00:00 2001 From: Dengdui Huang Date: Tue, 8 Apr 2025 16:30:59 +0800 Subject: [PATCH] net/hns3: fix divide by zero [ upstream commit a88f60f32de6f94a5acbf2101cb5e527fac0b2d2 ] Driver may encounter divide-by-zero if the total_tqps_num and rss_size_max in hw structure from firmware are zero. So add some verification to them. Fixes: d51867db65c1 ("net/hns3: add initialization") Signed-off-by: Dengdui Huang --- drivers/net/hns3/hns3_ethdev.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index 91d7dc12d2..2c3a992e1a 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -2548,6 +2548,10 @@ hns3_query_pf_resource(struct hns3_hw *hw) req = (struct hns3_pf_res_cmd *)desc.data; hw->total_tqps_num = rte_le_to_cpu_16(req->tqp_num) + rte_le_to_cpu_16(req->ext_tqp_num); + if (hw->total_tqps_num == 0) { + PMD_INIT_LOG(ERR, "the total tqp number of the port is 0."); + return -EINVAL; + } ret = hns3_get_pf_max_tqp_num(hw); if (ret) return ret; @@ -2799,6 +2803,7 @@ hns3_check_media_type(struct hns3_hw *hw, uint8_t media_type) static int hns3_get_board_configuration(struct hns3_hw *hw) { +#define HNS3_RSS_SIZE_MAX_DEFAULT 64 struct hns3_adapter *hns = HNS3_DEV_HW_TO_ADAPTER(hw); struct hns3_pf *pf = &hns->pf; struct hns3_cfg cfg; @@ -2817,6 +2822,11 @@ hns3_get_board_configuration(struct hns3_hw *hw) hw->mac.media_type = cfg.media_type; hw->rss_size_max = cfg.rss_size_max; + if (hw->rss_size_max == 0) { + PMD_INIT_LOG(WARNING, "rss_size_max is 0, already adjust to %u.", + HNS3_RSS_SIZE_MAX_DEFAULT); + hw->rss_size_max = HNS3_RSS_SIZE_MAX_DEFAULT; + } memcpy(hw->mac.mac_addr, cfg.mac_addr, RTE_ETHER_ADDR_LEN); hw->mac.phy_addr = cfg.phy_addr; hw->dcb_info.num_pg = 1; -- 2.47.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2025-06-12 22:06:25.081578364 +0100 +++ 0032-net-hns3-fix-divide-by-zero.patch 2025-06-12 22:06:23.854044300 +0100 @@ -1 +1 @@ -From a88f60f32de6f94a5acbf2101cb5e527fac0b2d2 Mon Sep 17 00:00:00 2001 +From 077396a3d01ceea19bab0085584c9ceb45819fcc Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit a88f60f32de6f94a5acbf2101cb5e527fac0b2d2 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index 2b56b6e44e..2d4e348442 100644 +index 91d7dc12d2..2c3a992e1a 100644 @@ -22 +23 @@ -@@ -2544,6 +2544,10 @@ hns3_query_pf_resource(struct hns3_hw *hw) +@@ -2548,6 +2548,10 @@ hns3_query_pf_resource(struct hns3_hw *hw) @@ -33 +34 @@ -@@ -2795,6 +2799,7 @@ hns3_check_media_type(struct hns3_hw *hw, uint8_t media_type) +@@ -2799,6 +2803,7 @@ hns3_check_media_type(struct hns3_hw *hw, uint8_t media_type) @@ -41 +42 @@ -@@ -2813,6 +2818,11 @@ hns3_get_board_configuration(struct hns3_hw *hw) +@@ -2817,6 +2822,11 @@ hns3_get_board_configuration(struct hns3_hw *hw)