[dpdk-stable] patch 'app/testpmd: fix port id check in Tx VLAN command' has been queued to LTS release 18.11.11

Kevin Traynor ktraynor at redhat.com
Thu Nov 5 13:39:37 CET 2020


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 <tangchengchang at huawei.com>
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 <tangchengchang at huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei at huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
---
 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 at 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



More information about the stable mailing list