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
Feature or enhancement
Proposal:
The following
MAP_*flags are defined on macOS, but are not exposed in the modulemmap:The system also defines
MAP_COPY,MAP_RENAME, but those seem to be less useful.MAP_FILEandMAP_FIXEDare generic flags that aren't useful for modulemmap.This is based on the macOS 14.2 SDK.
Two other things I noticed, but something for different issues:
msync(2)flags in the implementation formmap.mmap.flush()PROT_READetc.) after creating the mapping, exposing such functionality could be useful for usingmmapto 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