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 296BEA00C4 for ; Fri, 18 Nov 2022 00:10:29 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 22C834067B; Fri, 18 Nov 2022 00:10:29 +0100 (CET) Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by mails.dpdk.org (Postfix) with ESMTP id 3063D4021F for ; Fri, 18 Nov 2022 00:10:27 +0100 (CET) Received: by mail-wr1-f52.google.com with SMTP id x5so2322547wrt.7 for ; Thu, 17 Nov 2022 15:10:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; 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=9qh1vRejJnn6pv38pCxxFN0tR4TVqE9HWs1GNwl+UjE=; b=CEQrKfy2ByHMToynZLdE753vzq9qPxkEXov0T1pGwwIJyOIOXG3kWddcU7tYIbVEP1 TUzx5tKEd/sKwAJaUlbIS9DD8cJZM6d+uCuTLAcuDnUixfeZAFqpxh9GoGoQ0qxshUUz bpzGedEskXiDs7r7NaiISegTJijrsMbAocYffGogZd2VgzPhvPtNq54XNn6Vgeso8OLp Gxn1XE7LyiF+Ln8GzB+FEWl2KpeMj3q7rwVkr+cgHKhwgL1/qLiGtTjmqq50ti7/cRq7 6+8K/MGjZ6ZSSXNxQNS54lyxSc3jZxb5/FhM9obkuMDwkyPsxandmpTXZxBUhUYIjzMX 1T/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=9qh1vRejJnn6pv38pCxxFN0tR4TVqE9HWs1GNwl+UjE=; b=ww2ALUBylE7VA1kqZmBTD4l+RF3Az9yG2KCRBFHIZgNgCZ7b0tFw7vGZEsdWSEvF9z ZScrxVoogSUsUsvOwh5GGZ4i/RKgNT939Q4irC9LBYtoT7CkbTxb7DhynvyDJ561SxOB YP0v5k+onbdty1Q2FqUEvBBoYqe5hEZbdfsfVwl/TyUddSDKrLIoySyhULbEnEjPZoTU DBgn3eVqnKRGS8e9RsM6xUqHrkw1kMmrOWZRuSi5jL3QqIpp631h7pXt1uU1JMn2qCqR 6WNv4IAX3JjCoCfHyiGRB0T4jam7ZTHlDZy6Ud0djoU7zRX9wt3ibNEJE4+i/prK6jRl 46bg== X-Gm-Message-State: ANoB5pm0y3TtZuZ5PA7n3CjyLBXhmrQOPY2lzoQ3ThDRyeQS/fXOB7gN Y9pIWtTcYDiTmJR9xF/cbgV7ff4BFF8= X-Google-Smtp-Source: AA0mqf66kaKbg+P8N6ns9GIGXCj4xmfV8LKdazT4fnJWyF/opGFC98VO9bs0AF1y2+BVOgsNhziprw== X-Received: by 2002:adf:e2ca:0:b0:22e:4ac2:aaa5 with SMTP id d10-20020adfe2ca000000b0022e4ac2aaa5mr2724388wrj.455.1668726626963; Thu, 17 Nov 2022 15:10:26 -0800 (PST) Received: from localhost ([2a01:4b00:d307:1000:f1d3:eb5e:11f4:a7d9]) by smtp.gmail.com with ESMTPSA id m6-20020a056000024600b00236705daefesm2019675wrz.39.2022.11.17.15.10.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Nov 2022 15:10:25 -0800 (PST) From: luca.boccassi@gmail.com To: Mingjin Ye Cc: Qi Zhang , dpdk stable Subject: patch 'net/ice: fix scalar Tx path segment' has been queued to stable release 20.11.7 Date: Thu, 17 Nov 2022 23:08:46 +0000 Message-Id: <20221117230859.611465-22-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221117230859.611465-1-luca.boccassi@gmail.com> References: <20221105171146.1520039-47-luca.boccassi@gmail.com> <20221117230859.611465-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 20.11.7 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/19/22. 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/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/2808a6c7175cc293fb51b2b467cce936cddfd458 Thanks. Luca Boccassi --- >From 2808a6c7175cc293fb51b2b467cce936cddfd458 Mon Sep 17 00:00:00 2001 From: Mingjin Ye Date: Fri, 11 Nov 2022 16:12:41 +0000 Subject: [PATCH] net/ice: fix scalar Tx path segment [ upstream commit 688cb2f2c61e48552fb9a211fdcfdb754a795b40 ] The scalar Tx path would send empty buffer that causes the Tx queue to overflow. This patch adds the last buffer length judgment in tx_prepare to fix this issue, rte_errno will be set to EINVAL and returned if the last buffer is empty. Fixes: 17c7d0f9d6a4 ("net/ice: support basic Rx/Tx") Fixes: ccf33dccf7aa ("net/ice: check illegal packet sizes") Signed-off-by: Mingjin Ye Acked-by: Qi Zhang --- drivers/net/ice/ice_rxtx.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c index bafb853ab9..2716c56f3a 100644 --- a/drivers/net/ice/ice_rxtx.c +++ b/drivers/net/ice/ice_rxtx.c @@ -3208,6 +3208,22 @@ ice_set_tx_function_flag(struct rte_eth_dev *dev, struct ice_tx_queue *txq) #define ICE_MIN_TSO_MSS 64 #define ICE_MAX_TSO_MSS 9728 #define ICE_MAX_TSO_FRAME_SIZE 262144 + +/*Check for empty mbuf*/ +static inline uint16_t +ice_check_empty_mbuf(struct rte_mbuf *tx_pkt) +{ + struct rte_mbuf *txd = tx_pkt; + + while (txd != NULL) { + if (txd->data_len == 0) + return -1; + txd = txd->next; + } + + return 0; +} + uint16_t ice_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) @@ -3254,6 +3270,12 @@ ice_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts, rte_errno = -ret; return i; } + + if (ice_check_empty_mbuf(m) != 0) { + rte_errno = EINVAL; + PMD_DRV_LOG(ERR, "INVALID mbuf: last mbuf data_len=[0]"); + return i; + } } return i; } -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-17 23:07:56.451508360 +0000 +++ 0022-net-ice-fix-scalar-Tx-path-segment.patch 2022-11-17 23:07:55.528331178 +0000 @@ -1 +1 @@ -From 688cb2f2c61e48552fb9a211fdcfdb754a795b40 Mon Sep 17 00:00:00 2001 +From 2808a6c7175cc293fb51b2b467cce936cddfd458 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 688cb2f2c61e48552fb9a211fdcfdb754a795b40 ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index 3224a02db2..0ea0045836 100644 +index bafb853ab9..2716c56f3a 100644 @@ -27 +28 @@ -@@ -3645,6 +3645,22 @@ ice_set_tx_function_flag(struct rte_eth_dev *dev, struct ice_tx_queue *txq) +@@ -3208,6 +3208,22 @@ ice_set_tx_function_flag(struct rte_eth_dev *dev, struct ice_tx_queue *txq) @@ -50 +51 @@ -@@ -3691,6 +3707,12 @@ ice_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts, +@@ -3254,6 +3270,12 @@ ice_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts,