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

 
Также может означать:
КонстантаТипОС
ERROR_NOT_ENOUGH_MEMORYОшибка WindowsWindows
ippStsLnNegArgСтатус Intel IPPЛюбая
ENOEXECerrnoЛюбая
IRQL_NOT_DISPATCH_LEVELКод BSODWindows
Предыдущий Следующий
KERN_NOT_RECEIVER KERN_MEMORY_FAILURE

KERN_NO_ACCESS

KERN_NO_ACCESS — устаревшее возвращаемое значение Mach, которое заголовок XNU описывает лишь как «некорректное ограничение доступа». Поэтому символическое имя менее конкретно, чем кажется: оно не указывает, отсутствует ли право порта, нарушена ли защита виртуальной памяти, сработала ли песочница или отсутствует entitlement.

Не интерпретируйте этот код как взаимозаменяемую запись POSIX EACCES. В том же семействе кодов возврата Mach KERN_PROTECTION_FAILURE описывает отображённый диапазон с недостаточной защитой виртуальной памяти, а KERN_DENIED указывает на отказ политики безопасности. API, вернувший KERN_NO_ACCESS необходим для определения того, представляет ли этот код исторический внутренний путь или проверку доступа, явно возвращаемую данным интерфейсом.

Что сохранить для диагностики

  • Запишите точный интерфейс Mach и его целевой порт или задачу.
  • Перед изменением разрешений или entitlement изучите журналы конкретного API.
  • Проверьте конкретную модель ресурса: право порта Mach, защиту отображения виртуальной памяти или политику службы более высокого уровня.
  • Сохраняйте исходное числовое значение kern_return_t при преобразовании ошибок на границе POSIX или приложения.

Ссылки


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