patch 'net/hns3: fix crash from secondary process' has been queued to stable release 21.11.2

Kevin Traynor ktraynor at redhat.com
Fri Jun 24 17:01:38 CEST 2022


Hi,

FYI, your patch has been queued to stable release 21.11.2

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/27/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/35582af08c0c141db6b5ddb4abcc893b7643fc98

Thanks.

Kevin

---
>From 35582af08c0c141db6b5ddb4abcc893b7643fc98 Mon Sep 17 00:00:00 2001
From: Huisong Li <lihuisong at huawei.com>
Date: Wed, 1 Jun 2022 11:52:50 +0800
Subject: [PATCH] net/hns3: fix crash from secondary process

[ upstream commit 8ba42ce98dd45958354817c340796f3ce6496410 ]

If a hns3 device in the secondary process is attached to do probing
operation, 'rx_queues' and 'tx_queues' in dev->data are null in
eth_dev_fp_ops_setup when calling rte_eth_dev_probing_finish. The primary
process calls dev_start to re-setup their fp_ops. But the secondary process
can't call dev_start and has no chance to do it. If the application sends
and receives packets at this time, a segfault will occur. So this patch
uses the MP communication of the PMD to update the fp_ops of the device in
the secondary process.

Fixes: 96c33cfb06cf ("net/hns3: fix Rx/Tx functions update")

Signed-off-by: Huisong Li <lihuisong at huawei.com>
Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
---
 drivers/net/hns3/hns3_rxtx.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c
index 2f3bc836e3..f259791f0c 100644
--- a/drivers/net/hns3/hns3_rxtx.c
+++ b/drivers/net/hns3/hns3_rxtx.c
@@ -4425,4 +4425,6 @@ hns3_eth_dev_fp_ops_config(const struct rte_eth_dev *dev)
 	fpo[port_id].rx_descriptor_status = dev->rx_descriptor_status;
 	fpo[port_id].tx_descriptor_status = dev->tx_descriptor_status;
+	fpo[port_id].rxq.data = dev->data->rx_queues;
+	fpo[port_id].txq.data = dev->data->tx_queues;
 }
 
-- 
2.34.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-06-24 15:51:09.853261490 +0100
+++ 0035-net-hns3-fix-crash-from-secondary-process.patch	2022-06-24 15:51:08.908984181 +0100
@@ -1 +1 @@
-From 8ba42ce98dd45958354817c340796f3ce6496410 Mon Sep 17 00:00:00 2001
+From 35582af08c0c141db6b5ddb4abcc893b7643fc98 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8ba42ce98dd45958354817c340796f3ce6496410 ]
+
@@ -16 +17,0 @@
-Cc: stable at dpdk.org
@@ -25 +26 @@
-index bbf98fc90e..e25a91becf 100644
+index 2f3bc836e3..f259791f0c 100644
@@ -28 +29 @@
-@@ -4410,4 +4410,6 @@ hns3_eth_dev_fp_ops_config(const struct rte_eth_dev *dev)
+@@ -4425,4 +4425,6 @@ hns3_eth_dev_fp_ops_config(const struct rte_eth_dev *dev)



More information about the stable mailing list