| Previous | Next |
| STATUS_UNEXPECTED_MM_CREATE_ERR | STATUS_UNEXPECTED_MM_EXTEND_ERR |
STATUS_UNEXPECTED_MM_MAP_ERROR
A map-path fallback should be traced at the cache or section mapping boundary
STATUS_UNEXPECTED_MM_MAP_ERROR does not preserve the underlying Memory Manager exception. The documented FsRtlNormalizeNtstatus contract explains why: an exception outside the standard handled set can be replaced by a generic status selected by the caller. This value identifies the mapping fallback bucket, while the actual pool, I/O, paging, or section-related exception may already be lost.
The Cache Manager provides a concrete mapping path through CcMapData. It maps a range of a cached file, has explicit view-boundary and wait behavior, and the WDK states that failures are raised as status exceptions—for example an allocation failure raises STATUS_INSUFFICIENT_RESOURCES and an I/O failure raises the I/O status. File systems are expected to use exception handling around many Cache Manager, Memory Manager, and FsRtl routines. Those are exactly the places where preserving the pre-normalization exception is valuable.
Record file offset, requested length, wait flags, cache-map state, view boundary, original exception, and the exception filter result. Do not translate this status into “bad memory mapping” and stop there. A mapping operation can surface storage I/O or resource failures. The useful comparison with CREATE is the operation context: MAP is about obtaining access to an existing cached or section-backed range, not establishing the section object itself.
What to inspect
- Capture the original raised status before the exception filter normalizes it.
- Log mapping offset, length, wait mode, and cache/view state.
- Check storage I/O and resource failures as possible original exceptions instead of assuming virtual-address corruption.
References
- Microsoft WDK: FsRtlNormalizeNtstatus
- Microsoft WDK: CcMapData
- Microsoft WDK: File-system handle and exception management
- Microsoft WDK: SECTION_OBJECT_POINTERS
- Microsoft Open Specifications: NTSTATUS values
Looking for a different code? Search another status or error code.