On 24-Mar-21 7:32 PM, Dmitry Kozlyuk wrote:
rte_eal_memory_detach() did not account for cases where multi-process
mode is disabled: --in-memory and --no-shconf. This resulted
in unmapping memory that had not been mapped, which caused errors:

     EAL: Could not unmap memory: No error   (Windows)
     EAL: Cannot munmap(0x1d47f40, 0x7000): Invalid argument  (Linux)

Confusing "No error" was caused by using errno instead of rte_errno
set by rte_mem_unmap().

Skip detaching memory altogether when --in-memory is specified.
Skip unmapping configuration when it's not shared.
Fix and add error handling to produce proper log messages.

Fixes: dfbc61a2f9a6 ("mem: detach memsegs on cleanup")
Cc: Anatoly Burakov <anatoly.bura...@intel.com>

Reported-by: Jie Zhou <j...@microsoft.com>
Suggested-by: David Marchand <david.march...@redhat.com>
Signed-off-by: Dmitry Kozlyuk <dmitry.kozl...@gmail.com>
---

LGTM

Acked-by: Anatoly Burakov <anatoly.bura...@intel.com>

--
Thanks,
Anatoly

Reply via email to