]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-8.0'
authorNikita Popov <nikita.ppv@gmail.com>
Fri, 5 Mar 2021 15:44:25 +0000 (16:44 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 5 Mar 2021 15:44:25 +0000 (16:44 +0100)
* PHP-8.0:
  Add supports for FreeBSD's PROT_MAX to let mprotect knows X flag can be applied in addition.

1  2 
ext/opcache/shared_alloc_mmap.c

index 6627633694f34592bf145afc1b94fcb9b5ab4f2f,c30a3b483c8c58e2a6d38c9c5d232ff8c2a95a64..18f2268a67bdfebfe2664e985a7e0e3602506287
  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;