Skip to content
Snippets Groups Projects
Select Git revision
  • dd_msg_area_chooser_coloring_fix_and_separator_char_fix
  • dailybuild_linux-x64
  • dailybuild_win32
  • master default protected
  • sqlite
  • rip_abstraction
  • dailybuild_macos-armv8
  • dd_file_lister_filanem_in_desc_color
  • mode7
  • dd_msg_reader_are_you_there_warning_improvement
  • c23-playing
  • syncterm-1.3
  • syncterm-1.2
  • test-build
  • hide_remote_connection_with_telgate
  • 638-can-t-control-c-during-a-file-search
  • add_body_to_pager_email
  • mingw32-build
  • cryptlib-3.4.7
  • ree/mastermind
  • sbbs320d
  • syncterm-1.6
  • syncterm-1.5
  • syncterm-1.4
  • sbbs320b
  • syncterm-1.3
  • syncterm-1.2
  • syncterm-1.2rc6
  • syncterm-1.2rc5
  • push
  • syncterm-1.2rc4
  • syncterm-1.2rc2
  • syncterm-1.2rc1
  • sbbs319b
  • sbbs318b
  • goodbuild_linux-x64_Sep-01-2020
  • goodbuild_win32_Sep-01-2020
  • goodbuild_linux-x64_Aug-31-2020
  • goodbuild_win32_Aug-31-2020
  • goodbuild_win32_Aug-30-2020
40 results

js-no-rwx-pages.patch

Blame
    • Deucе's avatar
      d3a1c675
      Allow RWX pages on NetBSD and OpenBSD. · d3a1c675
      Deucе authored
      By default, both NetBSD and OpenBSD will not allow pages to be mapped
      both writable and executable.
      
      On OpenBSD, if the filesystem is mounted with the wxallowed option,
      this would work, and before v6.0, passing -z wxallowed to the linker
      would allow it on a per-binary basis.  However, since this is not
      the default, and since the JS engine can use mprotect() to switch
      between RW and RX, I've decided to enable this instead.  This will
      slow things down, but it will work "out of the box".
      
      For NetBSD, the situation is different, you can't switch between
      RW and RX using mprotect()... instead, you need to use mremap() to
      get a separate mapping for each set of perms.  This does *not*
      appear to be present in the 1.8.5 source, so we can't do the same
      fix as OpenBSD.  Instead, NetBSD allows paxctl to add an elf note
      indicating that RWX is needed, and it "just works" (by default).
      d3a1c675
      History
      Allow RWX pages on NetBSD and OpenBSD.
      Deucе authored
      By default, both NetBSD and OpenBSD will not allow pages to be mapped
      both writable and executable.
      
      On OpenBSD, if the filesystem is mounted with the wxallowed option,
      this would work, and before v6.0, passing -z wxallowed to the linker
      would allow it on a per-binary basis.  However, since this is not
      the default, and since the JS engine can use mprotect() to switch
      between RW and RX, I've decided to enable this instead.  This will
      slow things down, but it will work "out of the box".
      
      For NetBSD, the situation is different, you can't switch between
      RW and RX using mprotect()... instead, you need to use mremap() to
      get a separate mapping for each set of perms.  This does *not*
      appear to be present in the 1.8.5 source, so we can't do the same
      fix as OpenBSD.  Instead, NetBSD allows paxctl to add an elf note
      indicating that RWX is needed, and it "just works" (by default).