Skip to main content

Module mem

Module mem 

Source
Expand description

Wrappers de la famille mem — mappings, protection, memfd, etc.

Cf. docs/specs/layer-0/family-mem.md.

Structs§

Mapping
Mapping mémoire RAII.
MmapRegion
Mapping mmap partageable et compatible io_uring : ses pages restent valides tant qu’une opération io_uring en vol (madvise/futex_*) y référence de la mémoire. Compté par référence — munmap au dernier drop (la région et toutes les gardes de vivacité d’ops en vol).
MmapRegionLiveness
Garde de vivacité retenue par le slot S1 d’une opération io_uring en vol qui référence la région. Maintient les pages mappées sans donner d’accès : tant qu’une garde existe, munmap ne peut pas se produire.

Functions§

madvise
Informe le kernel sur le pattern d’accès attendu à une plage mémoire.
memfd_create
Crée un fichier mémoire anonyme (memfd).
memfd_secret
Crée un fichier mémoire secret non accessible au kernel.
mlock
Verrouille une plage mémoire en RAM (empêche le swap).
mlock2
Verrouille une plage mémoire avec contrôle du moment du verrouillage.
mlockall
Verrouille toutes les pages du processus en RAM.
mmap_anonymous
Crée un mapping mémoire anonyme (sans fichier sous-jacent).
mmap_file
Crée un mapping de fichier.
mmap_fixed
Mappe à une adresse spécifique.
mprotect
Modifie les permissions d’une plage mémoire mappée.
mremap
Redimensionne (et éventuellement déplace) un mapping existant.
msync
Force la synchronisation d’un mapping MAP_SHARED vers le fichier.
munlock
Déverrouille une plage mémoire précédemment verrouillée.
munlockall
Déverrouille toutes les pages du processus.
munmap
Dé-mappe explicitement un mapping et récupère une éventuelle erreur.
munmap_raw
Libère un mapping par (adresse, longueur) brutes (munmap(2)) — descellement additif ADR-085 pour la face libc, qui gère la vie du mapping par (addr, len) (comme le C void *mmap/int munmap(void *, size_t)), et non par l’objet RAII Mapping. La couche 1 [air-memory] l’expose à la libc via son AirMemoryManager.
process_vm_readv
Lit la mémoire d’un autre processus sans ptrace.
process_vm_writev
Écrit dans la mémoire d’un autre processus sans ptrace.