Skip to content
Syscall BSD#185

svc · unix #185

sys_panic_with_data

Syscall privilégié utilisé pour déclencher un panic noyau avec une charge utile userspace attachée.

Prototype

int sys_panic_with_data(uuid_t uuid, void *addr, uint32_t len, uint32_t flags, const char *msg);

Retour: int

Arguments

NameTypeDirDescription
uuiduuid_t-
addrvoid-
lenuint32_t-
flagsuint32_t-
msgconst char-

Historique des versions

XNU tagmacOS#
xnu-10002.1.13macOS 14.0 Sonoma185
xnu-11215.1.10macOS 15.0 Sequoia185
xnu-11417.101.15macOS 15.4 Sequoia185
xnu-12377.1.9macOS 26.0 Tahoe185
xnu-10002.41.9185
xnu-10002.61.3185
xnu-10002.81.5185
xnu-10063.101.15185
xnu-10063.121.3185
xnu-10063.141.1185
xnu-11215.41.3185
xnu-11215.61.5185
xnu-11215.81.4185
xnu-11417.121.6185
xnu-11417.140.69185
xnu-12377.101.15185
xnu-12377.41.6185
xnu-12377.61.12185
xnu-12377.81.4185

Notes

Primitive diagnostique interne Apple : un outil entitled peut demander au noyau de panic, en attachant jusqu'à 1 KiB de contexte qui se retrouve dans le panic.ips résultant. Utilisé par les builds de debug RootlessJB et par la QA Apple pour récolter des dumps après une anomalie userspace. Sur les builds release il exige com.apple.private.allow-panic-with-data et retourne sinon ENOSYS.

Détection

Par définition tout appel réussi génère un panic ; le système redémarre et le panic.ips résultant apparaît dans /Library/Logs/DiagnosticReports. Tout artefact dont l'image appelante n'est pas signée Apple doit être traité comme un incident critique.

API associées

os_fault_with_payloadproc_trace_logReportCrashsysctlbyname