mem: set fd to -1 for anonymous mmap
authorNeil Horman <nhorman@tuxdriver.com>
Thu, 12 Apr 2018 11:16:40 +0000 (07:16 -0400)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 12 Apr 2018 12:44:24 +0000 (14:44 +0200)
https://dpdk.org/tracker/show_bug.cgi?id=18

Indicated that several mmap call sites in the [linux|bsd]app eal code
set fd that was not -1 in their calls while using MAP_ANONYMOUS.  While
probably not a huge deal, the man page does say the fd should be -1 for
portability, as some implementations don't ignore fd as they should for
MAP_ANONYMOUS.

Suggested-by: Solal Pirelli <solal.pirelli@gmail.com>
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
lib/librte_eal/bsdapp/eal/eal_memory.c
lib/librte_eal/linuxapp/eal/eal_memory.c

index b27262c..a5e0347 100644 (file)
@@ -70,7 +70,7 @@ rte_eal_hugepage_init(void)
 
                addr = mmap(NULL, internal_config.memory,
                                PROT_READ | PROT_WRITE,
-                               MAP_PRIVATE | MAP_ANONYMOUS, 0, 0);
+                               MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
                if (addr == MAP_FAILED) {
                        RTE_LOG(ERR, EAL, "%s: mmap() failed: %s\n", __func__,
                                        strerror(errno));
index 7cdd304..b7a2e95 100644 (file)
@@ -1329,7 +1329,7 @@ eal_legacy_hugepage_init(void)
                }
 
                addr = mmap(NULL, internal_config.memory, PROT_READ | PROT_WRITE,
-                               MAP_PRIVATE | MAP_ANONYMOUS, 0, 0);
+                               MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
                if (addr == MAP_FAILED) {
                        RTE_LOG(ERR, EAL, "%s: mmap() failed: %s\n", __func__,
                                        strerror(errno));