| Previous | Next |
| STATUS_FIRMWARE_UPDATED | STATUS_MESSAGE_RETRIEVED |
STATUS_DRIVERS_LEAKING_LOCKED_PAGES
A driver failed to release pages after I/O ownership ended
Drivers lock user or kernel pages in an MDL so DMA and asynchronous I/O can safely reference stable physical pages. Each successful lock must be followed by the correct unlock after the device and driver have stopped using the buffer. This warning means locked-page accounting suggests that one or more paths are leaking those references.
The leak can consume physical memory and eventually trigger PROCESS_HAS_LOCKED_PAGES or DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS bug checks. Do not unlock arbitrary MDLs from outside the owning path. Instead, trace allocation, lock, cancellation, timeout, and completion so the exact unmatched operation is identified.
What to inspect
- Enable Driver Verifier pool and locked-page tracking for the suspected driver in a test environment.
- Capture MDL addresses, IRPs, process ownership, and stack traces at every lock and unlock.
- Audit cancellation and failed-start cleanup paths for requests that bypass normal completion.
References
- Microsoft WDK: MmProbeAndLockPages
- Microsoft WDK: MmUnlockPages
- Microsoft: Driver Verifier locked-page tracking
- Microsoft: DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS
- Microsoft Open Specifications: NTSTATUS values
Looking for a different code? Search another status or error code.
