| Предыдущий | Следующий |
| KERN_INVALID_LEDGER | KERN_INVALID_SECURITY |
KERN_INVALID_MEMORY_CONTROL
Несоответствие возможности управления памятью
KERN_INVALID_MEMORY_CONTROL означает, что порт, переданный операции управления памятью, не является портом управления кэшем памяти. Результат относится к типу возможности Mach, представленной ядру, а не к отображению виртуального адреса или нахождению страницы в памяти.
Не объединяйте его с KERN_INVALID_ADDRESS, KERN_PROTECTION_FAILURE, или общая ошибка выделения. Эти значения описывают другие уровни: допустимость адреса, защиту доступа и доступность ресурсов.
Что проверить
- Определите API, предоставивший порт, и обещанный им интерфейс объекта памяти.
- Проверьте, не подменила ли оболочка управляющий порт объектом памяти, именованной записью или обычным портом.
- Убедитесь, что ссылка остаётся допустимой на протяжении всей операции.
- Определите, требуется ли вызывающей стороне привилегированный управляющий интерфейс вместо интерфейса доступа к данным.
Ссылки
- Apple XNU: kern_return.h
- Apple Kernel Programming Guide: объекты памяти Mach
- Apple Kernel Programming Guide: память и виртуальная память
Нужно найти другой код? Найти другой код состояния или ошибки.