From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A87B5A04B1 for ; Thu, 5 Nov 2020 13:41:32 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9DDABC7F6; Thu, 5 Nov 2020 13:41:31 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by dpdk.org (Postfix) with ESMTP id 3805DC7F4 for ; Thu, 5 Nov 2020 13:41:29 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1604580087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=I8ueEJQVVHl76VCc7gT2j2a+933MYKWcI2mt5i9T6Lc=; b=AFKR8YCUcGjWo49lud7Cv0tUosGHOOEG6rP03lieqEaQMDISeYl22cts4ZhxEmmIME3b5V 3sJg9nYO3keAZa2OkSPsk/Kz4hMI+SCBJ0lWjioRsdpRsEPPvHhA1zsgQj60rDe5YcY5P2 +mk0/UUmPLFXYaI8hNdrRIMnNPOH2i0= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-444-hNSIJZcQP3mqSoMVCsHitw-1; Thu, 05 Nov 2020 07:41:24 -0500 X-MC-Unique: hNSIJZcQP3mqSoMVCsHitw-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A7FA9427C4; Thu, 5 Nov 2020 12:41:22 +0000 (UTC) Received: from rh.redhat.com (ovpn-113-249.ams2.redhat.com [10.36.113.249]) by smtp.corp.redhat.com (Postfix) with ESMTP id 693145C5DE; Thu, 5 Nov 2020 12:41:21 +0000 (UTC) From: Kevin Traynor To: Chengchang Tang Cc: Wei Hu , Ferruh Yigit , dpdk stable Date: Thu, 5 Nov 2020 12:39:37 +0000 Message-Id: <20201105124015.306404-30-ktraynor@redhat.com> In-Reply-To: <20201105124015.306404-1-ktraynor@redhat.com> References: <20201105124015.306404-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ktraynor@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Subject: [dpdk-stable] patch 'app/testpmd: fix port id check in Tx VLAN command' has been queued to LTS release 18.11.11 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 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 Sender: "stable" Hi, FYI, your patch has been queued to LTS release 18.11.11 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/10/20. 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-queue This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable-queue/commit/98c471996abf8216e760de3046fa1a867026ad05 Thanks. Kevin. --- >From 98c471996abf8216e760de3046fa1a867026ad05 Mon Sep 17 00:00:00 2001 From: Chengchang Tang Date: Fri, 25 Sep 2020 20:47:14 +0800 Subject: [PATCH] app/testpmd: fix port id check in Tx VLAN command [ upstream commit b428e71775e43acc7b074c82b0d9e08f401dde6b ] To set Tx vlan offloads, it is required to stop port firstly. But before checking whether the port is stopped, the port id entered by the user is not checked for validity. When the port id is illegal, it would lead to a segmentation fault since it attempts to access a member of non-existent port. This patch adds verification of port id in tx vlan offloads and remove duplicated check. Fixes: 597f9fafe13b ("app/testpmd: convert to new Tx offloads API") Signed-off-by: Chengchang Tang Signed-off-by: Wei Hu (Xavier) Reviewed-by: Ferruh Yigit --- app/test-pmd/cmdline.c | 9 +++++++++ app/test-pmd/config.c | 6 ------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index abf803418c..c8cd717992 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -4001,4 +4001,7 @@ cmd_tx_vlan_set_parsed(void *parsed_result, struct cmd_tx_vlan_set_result *res = parsed_result; + if (port_id_is_invalid(res->port_id, ENABLED_WARN)) + return; + if (!port_is_stopped(res->port_id)) { printf("Please stop port %d first\n", res->port_id); @@ -4055,4 +4058,7 @@ cmd_tx_vlan_set_qinq_parsed(void *parsed_result, struct cmd_tx_vlan_set_qinq_result *res = parsed_result; + if (port_id_is_invalid(res->port_id, ENABLED_WARN)) + return; + if (!port_is_stopped(res->port_id)) { printf("Please stop port %d first\n", res->port_id); @@ -4168,4 +4174,7 @@ cmd_tx_vlan_reset_parsed(void *parsed_result, struct cmd_tx_vlan_reset_result *res = parsed_result; + if (port_id_is_invalid(res->port_id, ENABLED_WARN)) + return; + if (!port_is_stopped(res->port_id)) { printf("Please stop port %d first\n", res->port_id); diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index 3d854099d2..6c4a6423d5 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -3013,6 +3013,4 @@ tx_vlan_set(portid_t port_id, uint16_t vlan_id) struct rte_eth_dev_info dev_info; - if (port_id_is_invalid(port_id, ENABLED_WARN)) - return; if (vlan_id_is_invalid(vlan_id)) return; @@ -3040,6 +3038,4 @@ tx_qinq_set(portid_t port_id, uint16_t vlan_id, uint16_t vlan_id_outer) struct rte_eth_dev_info dev_info; - if (port_id_is_invalid(port_id, ENABLED_WARN)) - return; if (vlan_id_is_invalid(vlan_id)) return; @@ -3064,6 +3060,4 @@ void tx_vlan_reset(portid_t port_id) { - if (port_id_is_invalid(port_id, ENABLED_WARN)) - return; ports[port_id].dev_conf.txmode.offloads &= ~(DEV_TX_OFFLOAD_VLAN_INSERT | -- 2.26.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2020-11-05 12:38:54.831287118 +0000 +++ 0030-app-testpmd-fix-port-id-check-in-Tx-VLAN-command.patch 2020-11-05 12:38:54.225896008 +0000 @@ -1 +1 @@ -From b428e71775e43acc7b074c82b0d9e08f401dde6b Mon Sep 17 00:00:00 2001 +From 98c471996abf8216e760de3046fa1a867026ad05 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b428e71775e43acc7b074c82b0d9e08f401dde6b ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -27 +28 @@ -index 08e123fe69..524c75b267 100644 +index abf803418c..c8cd717992 100644 @@ -30 +31 @@ -@@ -4295,4 +4295,7 @@ cmd_tx_vlan_set_parsed(void *parsed_result, +@@ -4001,4 +4001,7 @@ cmd_tx_vlan_set_parsed(void *parsed_result, @@ -38 +39 @@ -@@ -4349,4 +4352,7 @@ cmd_tx_vlan_set_qinq_parsed(void *parsed_result, +@@ -4055,4 +4058,7 @@ cmd_tx_vlan_set_qinq_parsed(void *parsed_result, @@ -46 +47 @@ -@@ -4462,4 +4468,7 @@ cmd_tx_vlan_reset_parsed(void *parsed_result, +@@ -4168,4 +4174,7 @@ cmd_tx_vlan_reset_parsed(void *parsed_result, @@ -55 +56 @@ -index 17a6efed24..03bf26bc94 100644 +index 3d854099d2..6c4a6423d5 100644 @@ -58,2 +59,2 @@ -@@ -3665,6 +3665,4 @@ tx_vlan_set(portid_t port_id, uint16_t vlan_id) - int ret; +@@ -3013,6 +3013,4 @@ tx_vlan_set(portid_t port_id, uint16_t vlan_id) + struct rte_eth_dev_info dev_info; @@ -65,2 +66,2 @@ -@@ -3697,6 +3695,4 @@ tx_qinq_set(portid_t port_id, uint16_t vlan_id, uint16_t vlan_id_outer) - int ret; +@@ -3040,6 +3038,4 @@ tx_qinq_set(portid_t port_id, uint16_t vlan_id, uint16_t vlan_id_outer) + struct rte_eth_dev_info dev_info; @@ -72 +73 @@ -@@ -3724,6 +3720,4 @@ void +@@ -3064,6 +3060,4 @@ void