This series was triggered after investigating why the eal_flags_file_prefix_autotest unit test was failing in the case of statically built binaries [1]).
For now, I went with a simple (naive) approach and put all accesses to the shared data under a single lock: ethdev maintainers, it is your turn to shine and give me reasons why we should keep the locks the way they were ;-). And let's see what the CI reports... 1: https://inbox.dpdk.org/dev/20230816153439.551501-12-bruce.richard...@intel.com/T/#m0e4c23f7be80bbdac076a387f4a2f9094dd07e0a -- David Marchand Changes since v3: - updated commitlogs, Changes since v2: - fixed multiprocess via patch 2, - fixed "ownership" history (not releasing shared mem if some owner is registered), Changes since v1: - fixed uaf in port cleanup, David Marchand (3): ethdev: protect shared memory accesses under one lock ethdev: avoid panicking in absence of ethdev shared data ethdev: cleanup shared data with the last port lib/eal/common/eal_common_mcfg.c | 6 ++ lib/eal/common/eal_memcfg.h | 1 + lib/eal/include/rte_eal_memconfig.h | 4 ++ lib/eal/version.map | 1 + lib/ethdev/ethdev_driver.c | 53 ++++++++++----- lib/ethdev/ethdev_private.c | 38 +++++++---- lib/ethdev/ethdev_private.h | 13 +++- lib/ethdev/ethdev_trace.h | 6 +- lib/ethdev/rte_ethdev.c | 99 ++++++++++++++++++----------- 9 files changed, 151 insertions(+), 70 deletions(-) -- 2.41.0