From: Nikita Popov Date: Fri, 5 Mar 2021 15:44:25 +0000 (+0100) Subject: Merge branch 'PHP-8.0' X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8a134c9a26087526fd6f75acc880a8d0596e09ae;p=php Merge branch 'PHP-8.0' * PHP-8.0: Add supports for FreeBSD's PROT_MAX to let mprotect knows X flag can be applied in addition. --- 8a134c9a26087526fd6f75acc880a8d0596e09ae diff --cc ext/opcache/shared_alloc_mmap.c index 6627633694,c30a3b483c..18f2268a67 --- a/ext/opcache/shared_alloc_mmap.c +++ b/ext/opcache/shared_alloc_mmap.c @@@ -43,15 -39,14 +43,18 @@@ static int create_segments(size_t requested_size, zend_shared_segment ***shared_segments_p, int *shared_segments_count, char **error_in) { zend_shared_segment *shared_segment; - int flags = PROT_READ | PROT_WRITE; + int flags = PROT_READ | PROT_WRITE, fd = -1; void *p; #ifdef PROT_MPROTECT - flags |= PROT_MPROTECT(PROT_EXEC); + flags |= PROT_MPROTECT(PROT_EXEC); +#endif +#ifdef VM_MAKE_TAG + /* allows tracking segments via tools such as vmmap */ + fd = VM_MAKE_TAG(251U); #endif + #ifdef PROT_MAX + flags |= PROT_MAX(PROT_READ | PROT_WRITE | PROT_EXEC); + #endif #ifdef MAP_HUGETLB size_t huge_page_size = 2 * 1024 * 1024;