The loop to unwind existing mmaps was only unmapping the first segment. Also, remove obvious redundant assignment.
Fixes: 66cc45e293ed ("mem: replace memseg with memseg lists") Cc: anatoly.bura...@intel.com Cc: sta...@dpdk.org Signed-off-by: Stephen Hemminger <step...@networkplumber.org> --- lib/librte_eal/linux/eal/eal_memory.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/librte_eal/linux/eal/eal_memory.c b/lib/librte_eal/linux/eal/eal_memory.c index 43e4ffc757bd..cf5b2433614b 100644 --- a/lib/librte_eal/linux/eal/eal_memory.c +++ b/lib/librte_eal/linux/eal/eal_memory.c @@ -1967,9 +1967,8 @@ eal_legacy_hugepage_attach(void) close(fd); error: /* map all segments into memory to make sure we get the addrs */ - cur_seg = 0; for (cur_seg = 0; cur_seg < i; cur_seg++) { - struct hugepage_file *hf = &hp[i]; + struct hugepage_file *hf = &hp[cur_seg]; size_t map_sz = hf->size; void *map_addr = hf->final_va; -- 2.20.1