| Предыдущий | Следующий |
| SYSTEM_SCAN_AT_RAISED_IRQL_CAUGHT_IMPROPER_DRIVER_UNLOAD | DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION |
DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL
DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL является специфичной для драйвера проверкой Special Pool на использование после освобождения. Microsoft указывает, что Driver Verifier обнаружил обращение драйвера к уже освобождённой памяти. Это ошибка времени жизни, а не выход за конец ещё существующего выделения.
Параметры определяют доступ
- Параметр 1 — адрес памяти, к которой произошло обращение.
- Параметр 2 различает чтение (
0) и запись (1). - Параметр 3 — адрес инструкции, обратившейся к памяти, если он известен.
Используйте адрес инструкции и стек для определения владельца устаревшего указателя. Имя драйвера также может быть доступно через KiBugCheckDriver.
Что исправить
Ищите гонки времени жизни объекта или буфера: запрос завершается или путь устройства уничтожается, один путь освобождает выделение, а другой продолжает обращаться по указателю. Special Pool здесь служит детектором. Увеличение пула или изменение размера выделения не исправит недопустимый доступ после освобождения.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
