svc · mach trap -15
_kernelrpc_mach_vm_map_trap
Point d'entrée trap qui implémente mach_vm_map — mappe un memory object (fichier, région partagée ou anonyme) dans l'espace d'adressage d'un task.
Prototype
kern_return_t _kernelrpc_mach_vm_map_trap(/* 6 args */);Retour: kern_return_t
Historique des versions
| XNU tag | macOS | # |
|---|---|---|
| xnu-2422.115.4 | macOS 10.9 Mavericks | -15 |
| xnu-2782.40.9 | macOS 10.10 Yosemite | -15 |
| xnu-3247.1.106 | macOS 10.11 El Capitan | -15 |
| xnu-3789.1.32 | macOS 10.12 Sierra | -15 |
| xnu-4570.1.46 | macOS 10.13 High Sierra | -15 |
| xnu-4903.221.2 | macOS 10.14 Mojave | -15 |
| xnu-6153.11.26 | macOS 10.15 Catalina | -15 |
| xnu-7195.50.7.100.1 | macOS 11.0 Big Sur | -15 |
| xnu-8019.41.5 | macOS 12.0 Monterey | -15 |
| xnu-8792.41.9 | macOS 13.0 Ventura | -15 |
| xnu-10002.1.13 | macOS 14.0 Sonoma | -15 |
| xnu-11215.1.10 | macOS 15.0 Sequoia | -15 |
| xnu-11417.101.15 | macOS 15.4 Sequoia | -15 |
| xnu-12377.1.9 | macOS 26.0 Tahoe | -15 |
| xnu-10002.41.9 | — | -15 |
| xnu-10002.61.3 | — | -15 |
| xnu-10002.81.5 | — | -15 |
| xnu-10063.101.15 | — | -15 |
| xnu-10063.121.3 | — | -15 |
| xnu-10063.141.1 | — | -15 |
| xnu-11215.41.3 | — | -15 |
| xnu-11215.61.5 | — | -15 |
| xnu-11215.81.4 | — | -15 |
| xnu-11417.121.6 | — | -15 |
| xnu-11417.140.69 | — | -15 |
| xnu-12377.101.15 | — | -15 |
| xnu-12377.41.6 | — | -15 |
| xnu-12377.61.12 | — | -15 |
| xnu-12377.81.4 | — | -15 |
| xnu-2422.1.72 | — | -15 |
| xnu-2422.100.13 | — | -15 |
| xnu-2422.110.17 | — | -15 |
| xnu-2422.90.20 | — | -15 |
| xnu-2782.1.97 | — | -15 |
| xnu-2782.10.72 | — | -15 |
| xnu-2782.20.48 | — | -15 |
| xnu-2782.30.5 | — | -15 |
| xnu-3247.10.11 | — | -15 |
| xnu-3248.20.55 | — | -15 |
| xnu-3248.30.4 | — | -15 |
| xnu-3248.40.184 | — | -15 |
| xnu-3248.50.21 | — | -15 |
| xnu-3248.60.10 | — | -15 |
| xnu-3789.21.4 | — | -15 |
| xnu-3789.31.2 | — | -15 |
| xnu-3789.41.3 | — | -15 |
| xnu-3789.51.2 | — | -15 |
| xnu-3789.60.24 | — | -15 |
| xnu-3789.70.16 | — | -15 |
| xnu-4570.20.62 | — | -15 |
| xnu-4570.31.3 | — | -15 |
| xnu-4570.41.2 | — | -15 |
| xnu-4570.51.1 | — | -15 |
| xnu-4570.61.1 | — | -15 |
| xnu-4570.71.2 | — | -15 |
| xnu-4903.231.4 | — | -15 |
| xnu-4903.241.1 | — | -15 |
| xnu-4903.270.47 | — | -15 |
| xnu-6153.101.6 | — | -15 |
| xnu-6153.121.1 | — | -15 |
| xnu-6153.141.1 | — | -15 |
| xnu-6153.41.3 | — | -15 |
| xnu-6153.61.1 | — | -15 |
| xnu-6153.81.5 | — | -15 |
| xnu-7195.101.1 | — | -15 |
| xnu-7195.121.3 | — | -15 |
| xnu-7195.141.2 | — | -15 |
| xnu-7195.60.75 | — | -15 |
| xnu-7195.81.3 | — | -15 |
| xnu-8019.61.5 | — | -15 |
| xnu-8019.80.24 | — | -15 |
| xnu-8020.101.4 | — | -15 |
| xnu-8020.121.3 | — | -15 |
| xnu-8020.140.41 | — | -15 |
| xnu-8792.61.2 | — | -15 |
| xnu-8792.81.2 | — | -15 |
| xnu-8796.101.5 | — | -15 |
| xnu-8796.121.2 | — | -15 |
| xnu-8796.141.3 | — | -15 |
Notes
mach_vm_map est la primitive de mapping généraliste : l'appelant fournit un send right vers un memory object, un offset, une taille, un masque d'alignement, des protections initiale et maximale, l'héritage, et une adresse cible fixe ou libre. dyld l'utilise (indirectement, via vm_map_kernel) au chargement des dylibs depuis le cache partagé, et des frameworks comme CoreFoundation s'en servent pour créer des régions de mémoire partagée pour les charges utiles IPC. Le trap est l'entrée directe fast-path ; le slow-path passe par la routine MIG vm_map complète lorsqu'un descripteur memory_object_t doit être transmis dans un message Mach.
Détection
Sonde DTrace mach_trap uniquement. Les motifs suspects (mapping répété d'un même chemin dans de nombreux tasks, ou mapping de contenu non signé dans un processus hardened-runtime) se détectent au mieux en croisant les traces DTrace mach_vm_map et les événements codesign / AMFI du unified log.