[OpenSmalltalk/opensmalltalk-vm] 8c4b25: replace valloc() with mmap() when allocating execu...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[OpenSmalltalk/opensmalltalk-vm] 8c4b25: replace valloc() with mmap() when allocating execu...

Eliot Miranda-3
 
  Branch: refs/heads/Cog
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 8c4b25a5532c12089576b5bc234607e3d14d14af
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8c4b25a5532c12089576b5bc234607e3d14d14af
  Author: Bob Westergaard <[hidden email]>
  Date:   2018-10-30 (Tue, 30 Oct 2018)

  Changed paths:
    M platforms/Cross/plugins/IA32ABI/ia32abicc.c
    M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c

  Log Message:
  -----------
  replace valloc() with mmap() when allocating executable pages for callbacks

Under linux, if SELinux is enabled (i.e. not permisive or disabled), then
the heap memory allocated with vmalloc() and marked as executable with mprotect()
will fail.  In order to have this work with SELinux enabled (and not providing
a module policy file to allow execheap) mmap() should be used.

Note, it might be possible to remove the stdlib.h and sys/mman.h header
file references.


  Commit: c7a9b1f28b01743dd86fc83c59e10f17c2fd2dbe
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c7a9b1f28b01743dd86fc83c59e10f17c2fd2dbe
  Author: Eliot Miranda <[hidden email]>
  Date:   2018-10-31 (Wed, 31 Oct 2018)

  Changed paths:
    M platforms/Cross/plugins/IA32ABI/ia32abicc.c
    M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c

  Log Message:
  -----------
  Merge pull request #299 from bwestergaard/ditch-valloc

replace valloc() with mmap() when allocating executable pages for cal…


Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/3354ee22a58e...c7a9b1f28b01
      **NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.