This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] malloc: fix mbind on old kernels

From: Joern Engel <>

Kernel returned -EINVAL when passing in MPOL_F_STATIC_NODES.  The flag
being documented in the manpage, yet undefined in the header was dodgy
anyway.  Sounds like an intriguing story waiting to be uncovered.

JIRA: PURE-27597
 tpc/malloc2.13/arena.h | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/tpc/malloc2.13/arena.h b/tpc/malloc2.13/arena.h
index ef5e22a0811d..0804ecfe3a26 100644
--- a/tpc/malloc2.13/arena.h
+++ b/tpc/malloc2.13/arena.h
@@ -466,16 +466,14 @@ static void *mmap_for_heap(void *addr, size_t length, int *must_clear)
 #include <numaif.h>
-#define MPOL_F_STATIC_NODES   (1 << 15)
 static void mbind_memory(void *mem, size_t size, int node)
 	unsigned long node_mask = 1 << node;
 	int err;
 	assert(max_node < sizeof(unsigned long));
-	err = mbind(mem, size, MPOL_PREFERRED, &node_mask, max_node, MPOL_F_STATIC_NODES);
+	err = mbind(mem, size, MPOL_PREFERRED, &node_mask, max_node + 1, 0);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]