Что означает код возврата ядра macOS 2 (KERN_PROTECTION_FAILURE)?

 
Также может означать:
КонстантаТипОС
ERROR_FILE_NOT_FOUNDОшибка WindowsWindows
STATUS_WAIT_2NTSTATUSWindows
ippStsMisalignedBufСтатус Intel IPPЛюбая
WDSMCCLIENT_CATEGORYHRESULTWindows
ENOENTerrnoЛюбая
DEVICE_QUEUE_NOT_BUSYКод BSODWindows
Предыдущий Следующий
KERN_INVALID_ADDRESS KERN_NO_SPACE

KERN_PROTECTION_FAILURE

KERN_PROTECTION_FAILURE означает, что адрес допустим в целевой задаче, но запрошенная операция противоречит правам доступа отображения. Иными словами, это проблема защиты, а не признак отсутствия диапазона адресов.

Этот результат часто важен при чтении, записи, копировании или повторном отображении виртуальной памяти Mach. Процесс может совместно использовать диапазон, оставляя его только для чтения, а Mach применяет защищённое совместное использование как часть механизма копирования при записи. Поэтому запись в такой диапазон может завершиться ошибкой, даже если чтение или запрос сведений об области успешны.

Как диагностировать

  • Определите точную операцию: чтение, запись, выполнение, копирование или изменение отображения.
  • Проверьте текущую защиту целевого диапазона и не охватывает ли операция несколько областей.
  • Не воспринимайте результат как предложение обойти защиту macOS. Правильное исправление обычно состоит в использовании разрешённой операции или создании отображения с необходимыми правами.
  • При работе с другой задачей отличайте проблему полномочий или разрешений для порта задачи от защиты конкретной области VM.

Документация Apple по Mach описывает диапазоны виртуальной памяти как отображения, поддерживаемые объектами памяти. Права являются частью состояния отображения, поэтому одного допустимого адреса недостаточно для любого вида доступа.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.