The map_shared_memory() function should treat mmap MAP_FAILED as NULL because callers compare it with NULL to determine whether the map is failed.
Fixes: 764bf26873b9 ("add FreeBSD support") Fixes: cb97d93e9d3b ("mem: share hugepage info primary and secondary") Cc: sta...@dpdk.org Signed-off-by: Chengwen Feng <fengcheng...@huawei.com> --- lib/eal/freebsd/eal_hugepage_info.c | 2 +- lib/eal/linux/eal_hugepage_info.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/eal/freebsd/eal_hugepage_info.c b/lib/eal/freebsd/eal_hugepage_info.c index 9dbe375bd3..e58e618469 100644 --- a/lib/eal/freebsd/eal_hugepage_info.c +++ b/lib/eal/freebsd/eal_hugepage_info.c @@ -33,7 +33,7 @@ map_shared_memory(const char *filename, const size_t mem_size, int flags) } retval = mmap(NULL, mem_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); close(fd); - return retval; + return retval == MAP_FAILED ? NULL : retval; } static void * diff --git a/lib/eal/linux/eal_hugepage_info.c b/lib/eal/linux/eal_hugepage_info.c index a1b6cb31ff..24411d9c5b 100644 --- a/lib/eal/linux/eal_hugepage_info.c +++ b/lib/eal/linux/eal_hugepage_info.c @@ -50,7 +50,7 @@ map_shared_memory(const char *filename, const size_t mem_size, int flags) retval = mmap(NULL, mem_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); close(fd); - return retval; + return retval == MAP_FAILED ? NULL : retval; } static void * -- 2.17.1