[PATCH v3 2/7] ethdev: fix flow_ops_mutex for multi-process
Stephen Hemminger
stephen at networkplumber.org
Wed Apr 29 20:46:39 CEST 2026
The flow_ops_mutex in rte_eth_dev_data lives in shared memory and is
accessed by both primary and secondary processes. It must be
initialized with PTHREAD_PROCESS_SHARED.
Bugzilla ID: 662
Fixes: 80d1a9aff7f6 ("ethdev: make flow API thread safe")
Cc: stable at dpdk.org
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
lib/ethdev/ethdev_driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/ethdev/ethdev_driver.c b/lib/ethdev/ethdev_driver.c
index 2ec665be0f..70ddce5bfc 100644
--- a/lib/ethdev/ethdev_driver.c
+++ b/lib/ethdev/ethdev_driver.c
@@ -135,7 +135,7 @@ rte_eth_dev_allocate(const char *name)
eth_dev->data->port_id = port_id;
eth_dev->data->backer_port_id = RTE_MAX_ETHPORTS;
eth_dev->data->mtu = RTE_ETHER_MTU;
- pthread_mutex_init(ð_dev->data->flow_ops_mutex, NULL);
+ rte_thread_mutex_init_shared(ð_dev->data->flow_ops_mutex);
RTE_ASSERT(rte_eal_process_type() == RTE_PROC_PRIMARY);
eth_dev_shared_data->allocated_ports++;
--
2.53.0
More information about the stable
mailing list