summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemi Collet <remi@php.net>2018-08-29 14:41:04 +0200
committerRemi Collet <remi@php.net>2018-08-29 14:41:04 +0200
commita55bcaa14ddba2df0c0f9c7f4444fc9d9f6564fd (patch)
treedf58cf080db06efc4a0f09c32832c5f7b84bd057
parent8cc7e2a2df912d86f6b9dc3f3d40e5de1d93214b (diff)
downloadphp-git-a55bcaa14ddba2df0c0f9c7f4444fc9d9f6564fd.tar.gz
Revert "Support fixed address mmap without replacement"
This reverts commit 0f68ff5c92924deb9401ce66458e67f250ccde74.
-rw-r--r--Zend/zend_alloc.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c
index 8eec54c6f7..11691d8377 100644
--- a/Zend/zend_alloc.c
+++ b/Zend/zend_alloc.c
@@ -423,13 +423,8 @@ static void *zend_mm_mmap_fixed(void *addr, size_t size)
#ifdef _WIN32
return VirtualAlloc(addr, size, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
#else
- int flags = MAP_PRIVATE | MAP_ANON;
-#ifdef MAP_FIXED_NOREPLACE
- flags |= MAP_FIXED_NOREPLACE;
-#elif defined MAP_EXCL
- flags |= MAP_FIXED | MAP_EXCL;
-#endif
- void *ptr = mmap(addr, size, PROT_READ | PROT_WRITE, flags /*| MAP_POPULATE | MAP_HUGETLB*/, -1, 0);
+ /* MAP_FIXED leads to discarding of the old mapping, so it can't be used. */
+ void *ptr = mmap(addr, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON /*| MAP_POPULATE | MAP_HUGETLB*/, -1, 0);
if (ptr == MAP_FAILED) {
#if ZEND_MM_ERROR