Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Some MAP_ constants defined on macOS but not in mmap #113868

Closed
@ronaldoussoren

Description

@ronaldoussoren

Feature or enhancement

Proposal:

The following MAP_* flags are defined on macOS, but are not exposed in the module mmap:

  • MAP_NORESERVE
  • MAP_NOEXTEND
  • MAP_HASSEMAPHORE
  • MAP_NOCACHE
  • MAP_JIT
  • MAP_RESILIENT_CODESIGN
  • MAP_RESILIENT_MEDIA
  • MAP_32BIT
  • MAP_TRANSLATED_ALLOW_EXECUTE
  • MAP_UNIX03
  • MAP_TPRO

The system also defines MAP_COPY, MAP_RENAME, but those seem to be less useful. MAP_FILE and MAP_FIXED are generic flags that aren't useful for module mmap.

This is based on the macOS 14.2 SDK.

Two other things I noticed, but something for different issues:

  • There's a comment about msync(2) flags in the implementation for mmap.mmap.flush()
  • There is no way to change the memory protection (PROT_READ etc.) after creating the mapping, exposing such functionality could be useful for using mmap to write executable code in Python.

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions