Skip to content

Commit 404a97d

Browse files
committed
Merge branch 'PHP-7.3'
* PHP-7.3: Revert "Support fixed address mmap without replacement" Revert "Don't report mmap failure if it is expected"
2 parents 2f70038 + a55bcaa commit 404a97d

File tree

1 file changed

+3
-8
lines changed

1 file changed

+3
-8
lines changed

Zend/zend_alloc.c

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -423,16 +423,11 @@ static void *zend_mm_mmap_fixed(void *addr, size_t size)
423423
#ifdef _WIN32
424424
return VirtualAlloc(addr, size, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
425425
#else
426-
int flags = MAP_PRIVATE | MAP_ANON;
427-
#ifdef MAP_FIXED_NOREPLACE
428-
flags |= MAP_FIXED_NOREPLACE;
429-
#elif defined MAP_EXCL
430-
flags |= MAP_FIXED | MAP_EXCL;
431-
#endif
432-
void *ptr = mmap(addr, size, PROT_READ | PROT_WRITE, flags /*| MAP_POPULATE | MAP_HUGETLB*/, -1, 0);
426+
/* MAP_FIXED leads to discarding of the old mapping, so it can't be used. */
427+
void *ptr = mmap(addr, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON /*| MAP_POPULATE | MAP_HUGETLB*/, -1, 0);
433428

434429
if (ptr == MAP_FAILED) {
435-
#if ZEND_MM_ERROR && !defined(MAP_FIXED_NOREPLACE) && !defined(MAP_EXCL)
430+
#if ZEND_MM_ERROR
436431
fprintf(stderr, "\nmmap() failed: [%d] %s\n", errno, strerror(errno));
437432
#endif
438433
return NULL;

0 commit comments

Comments
 (0)