svc · mach trap -50
thread_get_special_reply_port
Retourne le port de réponse spécial par thread utilisé par le noyau pour l'héritage de priorité de l'IPC synchrone.
Prototype
kern_return_t thread_get_special_reply_port(/* 0 args */);Retour: kern_return_t
Historique des versions
| XNU tag | macOS | # |
|---|---|---|
| xnu-4570.1.46 | macOS 10.13 High Sierra | -50 |
| xnu-4903.221.2 | macOS 10.14 Mojave | -50 |
| xnu-6153.11.26 | macOS 10.15 Catalina | -50 |
| xnu-7195.50.7.100.1 | macOS 11.0 Big Sur | -50 |
| xnu-8019.41.5 | macOS 12.0 Monterey | -50 |
| xnu-8792.41.9 | macOS 13.0 Ventura | -50 |
| xnu-10002.1.13 | macOS 14.0 Sonoma | -50 |
| xnu-11215.1.10 | macOS 15.0 Sequoia | -50 |
| xnu-11417.101.15 | macOS 15.4 Sequoia | -50 |
| xnu-12377.1.9 | macOS 26.0 Tahoe | -50 |
| xnu-10002.41.9 | — | -50 |
| xnu-10002.61.3 | — | -50 |
| xnu-10002.81.5 | — | -50 |
| xnu-10063.101.15 | — | -50 |
| xnu-10063.121.3 | — | -50 |
| xnu-10063.141.1 | — | -50 |
| xnu-11215.41.3 | — | -50 |
| xnu-11215.61.5 | — | -50 |
| xnu-11215.81.4 | — | -50 |
| xnu-11417.121.6 | — | -50 |
| xnu-11417.140.69 | — | -50 |
| xnu-12377.101.15 | — | -50 |
| xnu-12377.41.6 | — | -50 |
| xnu-12377.61.12 | — | -50 |
| xnu-12377.81.4 | — | -50 |
| xnu-4570.20.62 | — | -50 |
| xnu-4570.31.3 | — | -50 |
| xnu-4570.41.2 | — | -50 |
| xnu-4570.51.1 | — | -50 |
| xnu-4570.61.1 | — | -50 |
| xnu-4570.71.2 | — | -50 |
| xnu-4903.231.4 | — | -50 |
| xnu-4903.241.1 | — | -50 |
| xnu-4903.270.47 | — | -50 |
| xnu-6153.101.6 | — | -50 |
| xnu-6153.121.1 | — | -50 |
| xnu-6153.141.1 | — | -50 |
| xnu-6153.41.3 | — | -50 |
| xnu-6153.61.1 | — | -50 |
| xnu-6153.81.5 | — | -50 |
| xnu-7195.101.1 | — | -50 |
| xnu-7195.121.3 | — | -50 |
| xnu-7195.141.2 | — | -50 |
| xnu-7195.60.75 | — | -50 |
| xnu-7195.81.3 | — | -50 |
| xnu-8019.61.5 | — | -50 |
| xnu-8019.80.24 | — | -50 |
| xnu-8020.101.4 | — | -50 |
| xnu-8020.121.3 | — | -50 |
| xnu-8020.140.41 | — | -50 |
| xnu-8792.61.2 | — | -50 |
| xnu-8792.81.2 | — | -50 |
| xnu-8796.101.5 | — | -50 |
| xnu-8796.121.2 | — | -50 |
| xnu-8796.141.3 | — | -50 |
Notes
Les ports de réponse spéciaux sont des receive rights gardés, alloués paresseusement et liés à un seul thread ; ils permettent au noyau de construire un turnstile qui rehausse la priorité d'ordonnancement du serveur pendant la durée d'un RPC synchrone. libdispatch et libxpc récupèrent le port une fois par thread et le réutilisent sur des milliers d'aller-retours. Le port étant gardé par une valeur de contexte, sa réutilisation incorrecte (par ex. après migration de thread ou fork) lève une EXC_GUARD et termine le processus. Ce trap est aussi la brique de base du fast-path sync-IPC de mach_msg2 depuis macOS 12.
Détection
Invisible pour Endpoint Security ; observable via DTrace mach_trap::thread_get_special_reply_port:entry. Les crashs EXC_GUARD impliquant un port de réponse spécial apparaissent dans les journaux ReportCrash avec le code d'exception 0x4 (kGUARD_EXC_MOD_REFS) ou 0x5 (kGUARD_EXC_INVALID_OPTIONS).