| Предыдущий | Следующий |
| KERN_MEMORY_RESTART_COPY | KERN_POLICY_LIMIT |
KERN_INVALID_PROCESSOR_SET
Управляющий порт и имя набора процессоров
KERN_INVALID_PROCESSOR_SET не является ошибкой доступности процессора. Он означает, что операция, требующая полномочий управления набором процессоров, получила порт, который не является требуемым управляющим портом набора процессоров. В Mach тип доступа представляется конкретным правом порта, а не универсальным целочисленным идентификатором.
Интерфейсы управления наборами процессоров являются привилегированными средствами управления ядром. Рассматривайте этот результат как несоответствие объектной возможности: повтор с тем же портом не превратит его в управляющий порт.
Что следует проверить
- Определите, ожидает ли вызов имя набора процессоров, управляющий порт набора процессоров или порт хоста.
- Проследите происхождение порта через посредник привилегий или оболочку, сгенерированную MIG.
- Проверьте, выполняется ли операция в контексте, которому разрешено получать управляющий интерфейс.
- Не подставляйте произвольный порт, связанный с хостом; получите интерфейс через API, создающий требуемое право.
Ссылки
- Apple XNU: kern_return.h
- Справочник интерфейсов ядра Mach: host_processor_set_priv
- Руководство Apple по программированию ядра: объекты Mach и права портов
Нужно найти другой код? Найти другой код состояния или ошибки.