Skip to content
Trap Mach#-26

svc · mach trap -26

mach_reply_port

Alloue un receive right à usage unique dans l'espace IPC de l'appelant pour servir de port de réponse à un RPC Mach.

Prototype

kern_return_t mach_reply_port(/* 0 args */);

Retour: kern_return_t

Historique des versions

XNU tagmacOS#
xnu-123.5macOS 10.0 Cheetah-25
xnu-201macOS 10.1 Puma-25
xnu-344macOS 10.2 Jaguar-25
xnu-517macOS 10.3 Panther-25
xnu-792macOS 10.4 Tiger-26
xnu-1228macOS 10.5 Leopard-26
xnu-1456.1.26macOS 10.6 Snow Leopard-26
xnu-1699.24.8macOS 10.7 Lion-26
xnu-2050.18.24macOS 10.8 Mountain Lion-26
xnu-2422.115.4macOS 10.9 Mavericks-26
xnu-2782.40.9macOS 10.10 Yosemite-26
xnu-3247.1.106macOS 10.11 El Capitan-26
xnu-3789.1.32macOS 10.12 Sierra-26
xnu-4570.1.46macOS 10.13 High Sierra-26
xnu-4903.221.2macOS 10.14 Mojave-26
xnu-6153.11.26macOS 10.15 Catalina-26
xnu-7195.50.7.100.1macOS 11.0 Big Sur-26
xnu-8019.41.5macOS 12.0 Monterey-26
xnu-8792.41.9macOS 13.0 Ventura-26
xnu-10002.1.13macOS 14.0 Sonoma-26
xnu-11215.1.10macOS 15.0 Sequoia-26
xnu-11417.101.15macOS 15.4 Sequoia-26
xnu-12377.1.9macOS 26.0 Tahoe-26
xnu-10002.41.9-26
xnu-10002.61.3-26
xnu-10002.81.5-26
xnu-10063.101.15-26
xnu-10063.121.3-26
xnu-10063.141.1-26
xnu-11215.41.3-26
xnu-11215.61.5-26
xnu-11215.81.4-26
xnu-11417.121.6-26
xnu-11417.140.69-26
xnu-1228.0.2-26
xnu-1228.12.14-26
xnu-1228.15.4-26
xnu-1228.3.13-26
xnu-1228.5.18-26
xnu-1228.5.20-26
xnu-1228.7.58-26
xnu-1228.9.59-26
xnu-12377.101.15-26
xnu-12377.41.6-26
xnu-12377.61.12-26
xnu-12377.81.4-26
xnu-124.1-25
xnu-124.13-25
xnu-124.7-25
xnu-1486.2.11-26
xnu-1504.15.3-26
xnu-1504.3.12-26
xnu-1504.7.4-26
xnu-1504.9.17-26
xnu-1504.9.26-26
xnu-1504.9.37-26
xnu-1699.22.73-26
xnu-1699.22.81-26
xnu-1699.24.23-26
xnu-1699.26.8-26
xnu-1699.32.7-26
xnu-201.14-25
xnu-201.19-25
xnu-201.19.3-25
xnu-201.42.3-25
xnu-201.5-25
xnu-2050.22.13-26
xnu-2050.24.15-26
xnu-2050.48.11-26
xnu-2050.7.9-26
xnu-2050.9.2-26
xnu-2422.1.72-26
xnu-2422.100.13-26
xnu-2422.110.17-26
xnu-2422.90.20-26
xnu-2782.1.97-26
xnu-2782.10.72-26
xnu-2782.20.48-26
xnu-2782.30.5-26
xnu-3247.10.11-26
xnu-3248.20.55-26
xnu-3248.30.4-26
xnu-3248.40.184-26
xnu-3248.50.21-26
xnu-3248.60.10-26
xnu-344.12.2-25
xnu-344.2-25
xnu-344.21.73-25
xnu-344.21.74-25
xnu-344.23-25
xnu-344.26-25
xnu-344.32-25
xnu-344.34-25
xnu-344.49-25
xnu-3789.21.4-26
xnu-3789.31.2-26
xnu-3789.41.3-26
xnu-3789.51.2-26
xnu-3789.60.24-26
xnu-3789.70.16-26
xnu-4570.20.62-26
xnu-4570.31.3-26
xnu-4570.41.2-26
xnu-4570.51.1-26
xnu-4570.61.1-26
xnu-4570.71.2-26
xnu-4903.231.4-26
xnu-4903.241.1-26
xnu-4903.270.47-26
xnu-517.11.1-25
xnu-517.12.7-25
xnu-517.3.15-25
xnu-517.3.7-25
xnu-517.7.21-25
xnu-517.7.7-25
xnu-517.9.4-25
xnu-517.9.5-25
xnu-6153.101.6-26
xnu-6153.121.1-26
xnu-6153.141.1-26
xnu-6153.41.3-26
xnu-6153.61.1-26
xnu-6153.81.5-26
xnu-7195.101.1-26
xnu-7195.121.3-26
xnu-7195.141.2-26
xnu-7195.60.75-26
xnu-7195.81.3-26
xnu-792.1.5-26
xnu-792.10.96-26
xnu-792.12.6-26
xnu-792.13.8-26
xnu-792.17.14-26
xnu-792.18.15-26
xnu-792.2.4-26
xnu-792.21.3-26
xnu-792.22.5-26
xnu-792.24.17-26
xnu-792.25.20-26
xnu-792.6.22-26
xnu-792.6.56-26
xnu-792.6.61-26
xnu-792.6.70-26
xnu-792.6.76-26
xnu-8019.61.5-26
xnu-8019.80.24-26
xnu-8020.101.4-26
xnu-8020.121.3-26
xnu-8020.140.41-26
xnu-8792.61.2-26
xnu-8792.81.2-26
xnu-8796.101.5-26
xnu-8796.121.2-26
xnu-8796.141.3-26

Notes

Tout appel MIG synchrone a besoin d'un port sur lequel le serveur peut répondre. mach_reply_port renvoie un nouveau nom de receive right ; l'appelant place un send-once right correspondant dans msgh_local_port et attend côté réception via MACH_RCV_MSG. La couche libsyscall met en cache un port de réponse par thread (mig_get_reply_port) pour éviter une allocation à chaque appel, et retombe sur mach_reply_port lorsque le port en cache est occupé ou gardé. Les ports de réponse sont héritables, comptent dans le quota du task et apparaissent comme IPC_OBJECT_TYPE_RECV dans la sortie de lsmp.

Détection

Fréquence très élevée (un par appel MIG non mis en cache). La sonde DTrace mach_trap::mach_reply_port:entry est la seule surface d'observation pratique ; Endpoint Security n'a aucun équivalent.

API associées

mach_msg_trapmig_get_reply_portthread_get_special_reply_port_kernelrpc_mach_port_allocate_trap