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 EEB2D43337 for ; Wed, 15 Nov 2023 12:46:02 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E8671406BA; Wed, 15 Nov 2023 12:46:02 +0100 (CET) Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by mails.dpdk.org (Postfix) with ESMTP id 02B2540A79 for ; Wed, 15 Nov 2023 12:46:01 +0100 (CET) Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-32dc918d454so4038382f8f.2 for ; Wed, 15 Nov 2023 03:46:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700048760; x=1700653560; 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=iwsmkDdXpgnoKBHnH08w7COceJCV5sBvcxdo1d2xjMU=; b=fDuIyRfFRPxUcxHPjz9kSbTYvsGlXFXDF0syQNWlbPY4L23rjDFNMz9S5J5rTeHTHH nw5ECMVsROAcTd1QBUBvZo74YwrslF72zEtw1+qgqog5M5itZZc84h6TeOLYGWOgso4M i/Sk7tcGZf93vebipz+MO2hQrhQqP63BX12dE+3Xtkk85QJUH4pGwJtsuJs40sN/3RTg XRJQo0qa2WhmIxMC5Uv6A8TM4Fem1BIg6JnJBujt0iFuVAg8xpAGaaASVHvQTLmFjjGc mdUTRQSOqoJMHTLfFD7swJ3cVu+NfB1eJ23P9hDxE5Ikuj9C8r8RN57yDwVD0iik7lJR AwBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700048760; x=1700653560; 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=iwsmkDdXpgnoKBHnH08w7COceJCV5sBvcxdo1d2xjMU=; b=D+2MDZyhNQOIKROvtcR9HEy+69ljgISp97JDdcp+t4f0ddNaMnlE3qLVFnl0q/UVzR AZgJQ0ScRRhNVvhO5SJB2jnS59IUZbybyRIDbUijj3QtmRKLdJM+C9Dgt6vebwK15WDb jWtweG3pipmB7PdgRbhXEdnr4h31hESpgKlxLgiJs3SGmEwMkjMSEPiNpJDsFM5dybk4 syyS1xyQ3oZ53ubQ9DzMP0QfOpeedbARiHy8CQ7x6+xR1hua5xFqzhUC7q55bwG6jPGK q8LciqgHVKZz7nDb+7X9BTP3tuRfKkTzBjGbCdzfDaL4pEdjTbzK4GcXP2ewyPmNFbTZ rOEQ== X-Gm-Message-State: AOJu0YwcK5j1LnyEunVLsjnv7pAvtG+3S0Df0jHEs7FSrRrhrWiaNXsY OT38HCGIMXz6PDBuv3I3lAw= X-Google-Smtp-Source: AGHT+IG2RQTz4WXSkrfxNug/L9hst/6m9Bp0uZiW+EmMelQrNmLzV2gJmUJl/KLR1aBwNFVHY3lllQ== X-Received: by 2002:a5d:4743:0:b0:32f:932b:e02f with SMTP id o3-20020a5d4743000000b0032f932be02fmr9134415wrs.55.1700048760647; Wed, 15 Nov 2023 03:46:00 -0800 (PST) Received: from localhost ([2a01:4b00:d307:1000:f1d3:eb5e:11f4:a7d9]) by smtp.gmail.com with ESMTPSA id a18-20020adfeed2000000b0032da6f17ffdsm10402022wrp.38.2023.11.15.03.45.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Nov 2023 03:45:59 -0800 (PST) From: luca.boccassi@gmail.com To: Viacheslav Ovsiienko Cc: Suanming Mou , dpdk stable Subject: patch 'net/mlx5: fix multi-segment Tx inline data length' has been queued to stable release 20.11.10 Date: Wed, 15 Nov 2023 11:45:13 +0000 Message-Id: <20231115114515.2355140-14-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231115114515.2355140-1-luca.boccassi@gmail.com> References: <20231108192535.922238-37-luca.boccassi@gmail.com> <20231115114515.2355140-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.10 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/17/23. 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/9c21619b7342ba0d576ef534805781fa9266b32b Thanks. Luca Boccassi --- >From 9c21619b7342ba0d576ef534805781fa9266b32b Mon Sep 17 00:00:00 2001 From: Viacheslav Ovsiienko Date: Fri, 10 Nov 2023 11:49:38 +0200 Subject: [PATCH] net/mlx5: fix multi-segment Tx inline data length [ upstream commit e3c7bb56b4583ccb1304219f52639d898727e65d ] If packet data length exceeds the configured limit for packet to be inlined in the queue descriptor the driver checks if hardware requires to do minimal data inline or the VLAN insertion offload is requested and not supported in hardware (that means we have to do VLAN insertion in software with inline data). Then driver scans the mbuf chain to find the minimal segment amount to satisfy the data needed for minimal inline. There was incorrect first segment inline data length calculation with missing VLAN header being inserted, that could lead to the segmentation fault in the mbuf chain scanning, for example for the packets: packet: mbuf0 pkt_len = 288, data_len = 156 mbuf1 pkt_len = 132, data_len = 132 txq->inlen_send = 290 The driver was trying to reach the inlen_send inline data length with missing VLAN header length added and was running out of the mbuf chain (there were just not enough data in the packet to satisfy the criteria). Fixes: 18a1c20044c0 ("net/mlx5: implement Tx burst template") Fixes: ec837ad0fc7c ("net/mlx5: fix multi-segment inline for the first segments") Signed-off-by: Viacheslav Ovsiienko Acked-by: Suanming Mou --- drivers/net/mlx5/mlx5_rxtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c index ed22612737..8e244eb45b 100644 --- a/drivers/net/mlx5/mlx5_rxtx.c +++ b/drivers/net/mlx5/mlx5_rxtx.c @@ -3548,7 +3548,7 @@ mlx5_tx_packet_multi_inline(struct mlx5_txq_data *__rte_restrict txq, uintptr_t start; mbuf = loc->mbuf; - nxlen = rte_pktmbuf_data_len(mbuf); + nxlen = rte_pktmbuf_data_len(mbuf) + vlan; /* * Packet length exceeds the allowed inline * data length, check whether the minimal -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-11-15 11:44:14.200193889 +0000 +++ 0014-net-mlx5-fix-multi-segment-Tx-inline-data-length.patch 2023-11-15 11:44:13.606388265 +0000 @@ -1 +1 @@ -From e3c7bb56b4583ccb1304219f52639d898727e65d Mon Sep 17 00:00:00 2001 +From 9c21619b7342ba0d576ef534805781fa9266b32b Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit e3c7bb56b4583ccb1304219f52639d898727e65d ] + @@ -32 +33,0 @@ -Cc: stable@dpdk.org @@ -37 +38 @@ - drivers/net/mlx5/mlx5_tx.h | 2 +- + drivers/net/mlx5/mlx5_rxtx.c | 2 +- @@ -40,5 +41,5 @@ -diff --git a/drivers/net/mlx5/mlx5_tx.h b/drivers/net/mlx5/mlx5_tx.h -index 264cc192dc..e59ce37667 100644 ---- a/drivers/net/mlx5/mlx5_tx.h -+++ b/drivers/net/mlx5/mlx5_tx.h -@@ -2046,7 +2046,7 @@ mlx5_tx_packet_multi_inline(struct mlx5_txq_data *__rte_restrict txq, +diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c +index ed22612737..8e244eb45b 100644 +--- a/drivers/net/mlx5/mlx5_rxtx.c ++++ b/drivers/net/mlx5/mlx5_rxtx.c +@@ -3548,7 +3548,7 @@ mlx5_tx_packet_multi_inline(struct mlx5_txq_data *__rte_restrict txq, @@ -51,2 +52,2 @@ - * Packet length exceeds the allowed inline data length, - * check whether the minimal inlining is required. + * Packet length exceeds the allowed inline + * data length, check whether the minimal