What does NTSTATUS 0x4000002D (STATUS_DRIVERS_LEAKING_LOCKED_PAGES) mean?

 
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


Looking for a different code? Search another status or error code.