The final_va field is set during remap_segment() but this information is not propagated to temporal copy of huge page memory configuration so the unlink_hugepage_files() function wrongly assume that there is nothing to unlink. Fix this issue by checking orig_va instead of final_va.
Fixes: 66cc45e293ed ("mem: replace memseg with memseg lists") To: Anatoly Burakov <anatoly.bura...@intel.com> Signed-off-by: Pawel Wodkowski <pawelx.wodkow...@intel.com> --- lib/librte_eal/linuxapp/eal/eal_memory.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c index e3ac2481572d..b4a2b2b9e405 100644 --- a/lib/librte_eal/linuxapp/eal/eal_memory.c +++ b/lib/librte_eal/linuxapp/eal/eal_memory.c @@ -585,7 +585,7 @@ unlink_hugepage_files(struct hugepage_file *hugepg_tbl, for (page = 0; page < nrpages; page++) { struct hugepage_file *hp = &hugepg_tbl[page]; - if (hp->final_va != NULL && unlink(hp->filepath)) { + if (hp->orig_va != NULL && unlink(hp->filepath)) { RTE_LOG(WARNING, EAL, "%s(): Removing %s failed: %s\n", __func__, hp->filepath, strerror(errno)); } -- 2.7.4