Skip to content
Trap Mach#-32

svc · mach trap -32

mach_msg_overwrite_trap

Variante de mach_msg permettant à l'appelant de fournir un tampon distinct pour le message reçu au lieu d'écraser le tampon d'envoi.

Prototype

kern_return_t mach_msg_overwrite_trap(/* 8 args */);

Retour: kern_return_t

Historique des versions

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

Notes

Quand du code MIG souhaite envoyer une requête et recevoir une réponse sans perdre les descripteurs côté envoi, il appelle le trap overwrite et fournit un second tampon (rcv_msg) que le noyau remplit lors de la phase de réception. Le trap prend aussi un rcv_size explicite pour dimensionner indépendamment envoi et réception. En pratique cela sert aux sous-systèmes MIG complexes (par ex. mach_voucher_extract_attr_recipe) où la réponse dépasse largement la requête, ainsi qu'à certains daemons instrumentés par la sandbox qui doivent conserver le message sortant pour audit.

Détection

Mêmes contraintes que mach_msg_trap : invisible pour Endpoint Security, observable via le provider DTrace mach_trap sur l'entrée mach_msg_overwrite. Le distinguer de mach_msg_trap dans les traces aide à identifier les sous-systèmes MIG aux réponses volumineuses.

API associées

mach_msg_trapmach_msg2_trapmach_reply_portmig_get_reply_port