Have rte_eal_config_reattach clean up the mapped address which is a valid address but not the one intended.
Coverity issue: 343439 Fixes: 4e8854ae89fa ("eal: do not panic on shared memory init") Fixes: b149a7064261 ("eal/freebsd: add config reattach in secondary") Signed-off-by: Arnon Warshavsky <ar...@qwilt.com> --- -v2 added fixes messages and applied also to freebsd lib/librte_eal/freebsd/eal/eal.c | 1 + lib/librte_eal/linux/eal/eal.c | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/librte_eal/freebsd/eal/eal.c b/lib/librte_eal/freebsd/eal/eal.c index d53f0fe..963db76 100644 --- a/lib/librte_eal/freebsd/eal/eal.c +++ b/lib/librte_eal/freebsd/eal/eal.c @@ -341,6 +341,7 @@ enum rte_iova_mode /* errno is stale, don't use */ RTE_LOG(ERR, EAL, "Cannot mmap memory for rte_config at [%p], got [%p]\n", rte_mem_cfg_addr, mem_config); + munmap(mem_config, sizeof(struct rte_mem_config)); return -1; } diff --git a/lib/librte_eal/linux/eal/eal.c b/lib/librte_eal/linux/eal/eal.c index 946222c..fac69b9 100644 --- a/lib/librte_eal/linux/eal/eal.c +++ b/lib/librte_eal/linux/eal/eal.c @@ -438,6 +438,7 @@ enum rte_iova_mode RTE_LOG(ERR, EAL, "Cannot mmap memory for rte_config at [%p], got [%p]" " - please use '--base-virtaddr' option\n", rte_mem_cfg_addr, mem_config); + munmap(mem_config, sizeof(struct rte_mem_config)); return -1; } RTE_LOG(ERR, EAL, "Cannot mmap memory for rte_config! error %i (%s)\n", -- 1.8.3.1