Blue Sreen with DRIVER_VERIFIER_DMA_VIOLATION (e6) of our PCIe express NDIS Adapter, "IOMMU detected DMA violation"

Carsten Buchloh 106 Reputation points
2021-11-04T16:38:34.737+00:00

Hi from Germany,

since several years our NDIS miniport driver (NDIS Version 6.6) with our NDIS PCIe adapter runs without any problems on Windows machines.

New mainboards with BIOS enabled kernel DMA protection ("enabled" seems to be default) result in a Blue Screen, when the computer starts and the miniport driver is enabled:

DRIVER_VERIFIER_DMA_VIOLATION (e6)
An illegal DMA operation was attempted by a driver being verified.
Arguments:
Arg1: 0000000000000026, IOMMU detected DMA violation.
Arg2: 0000000000000000, Device Object of faulting device.
Arg3: 00000000000c1f80, Faulting information (usually faulting physical address).
Arg4: 0000000000000006, Fault type (hardware specific).

PROCESS_NAME: System

STACK_TEXT:
fffff80285a6cea8 fffff8027eadab47 : 00000000000000e6 0000000000000026 0000000000000000 00000000000c1f80 : nt!KeBugCheckEx
fffff80285a6ceb0 fffff8027eac6a6b : 0000000000000000 0000000000000000 fffff8027f249dd0 fffff8027f249dd0 : nt!IvtHandleInterrupt+0x1a7
fffff80285a6cf10 fffff8027e927f55 : fffff8027f2f3cc0 fffff80285a5da50 fffff8027f2f3d70 0000000000000000 : nt!HalpIommuInterruptRoutine+0x4b
fffff80285a6cf40 fffff8027e9f75cc : fffff80285a5da50 fffff8027f2f3cc0 00000000000007c4 fffff8027e9fc940 : nt!KiCallInterruptServiceRoutine+0xa5
fffff80285a6cf90 fffff8027e9f79d7 : fffff80285a5daf0 0000000000000001 0000000000040046 fffff8027e870188 : nt!KiInterruptSubDispatchNoLock+0x11c
fffff80285a5d9d0 fffff8027e9f977a : 0000000000000000 0000000000000000 fffff8027f327600 00000000000007c4 : nt!KiInterruptDispatchNoLock+0x37
fffff80285a5db60 0000000000000000 : fffff80285a5e000 fffff80285a57000 0000000000000000 0000000000000000 : nt!KiIdleLoop+0x5a

SYMBOL_NAME: nt!IvtHandleInterrupt+1a7
MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe

The BSD occurs on Windows 10 and 11 operating systems.

The stop code DRIVER_VERIFIER_DMA_VIOLATION gives a false indication - driver verifier is not enabled at the machines!

It seems, that our NDIS driver (which uses DMA) has not yet started at the time of the blue screen.

More info on kernel DMA protection can be found under kernel-dma-protection-for-thunderbolt

Another user has posted on the internet:
"To work around this issue, disable Kernel DMA Protection in BIOS. ... Microsoft is aware of this issue. A resolution will be provided in an upcoming release."
See stop-code-driver-verifier-dma-violation.md

My questions are:

  • Is there a chance to avoid the BSD by software means and without disabling the kernel DMA protection in BIOS?
  • Is it correct, that Microsoft is aware of the problem and is working on a solution?

Thanks a lot!

Carsten

Windows Hardware Performance
Windows Hardware Performance
Windows: A family of Microsoft operating systems that run across personal computers, tablets, laptops, phones, internet of things devices, self-contained mixed reality headsets, large collaboration screens, and other devices.Hardware Performance: Delivering / providing hardware or hardware systems or adjusting / adapting hardware or hardware systems.
1,541 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Carsten Buchloh 106 Reputation points
    2021-11-26T07:10:23.76+00:00

    It looks like, as this is a Microsoft bug:
    stop-code-driver-verifier-dma-violation

    0 comments No comments

  2. Docs 15,141 Reputation points
    2021-11-26T08:11:42.177+00:00

    There have been multiple episodes of bugcheck E6 (Windows Driver Verifier (WDV) DMA violation) when WDV is not in use.

    UPDATE 4/14: KB4550936 for Windows 10 Insider Preview Slow Build 19041.207 April 14

    Hello Windows Insiders, today we’re releasing 20H1 Build 19041.173 (KB4552455) to Windows Insiders in the Slow ring. This Cumulative Update includes the same fix previously noted in Build 19041.172 plus these additional fixes:

    We are mitigating app compatibility issues where older versions of certain apps won’t launch by directing users to go and install the latest version of these apps.
    We have fixed an issue that fails to allocate resources during device initialization, which causes certain USB mass storage devices to stop working.
    We have fixed an issue that prevents the mute button from working on certain devices with the Your Phone app.
    We have fixed an issue that causes a fault in the input-output memory management unit (IOMMU) and a DRIVER_VERIFIER_DMA_VIOLATION (e6) error. This issue occurs after resuming from hibernate on systems that have Kernel Direct Memory Access (DMA) Protection and Dynamic Root of Trust Measurement (DRTM) enabled.

    Resolved issues

    Summary Originating update Status Date resolved
    Stop error when plugging in a Thunderbolt NVMe SSD
    Devices using Thunderbolt SSDs may receive a stop error
    "DRIVER_VERIFIER_DMA_VIOLATION (e6)" when plugging an SSD in. OS Build 19041.488
    KB4571744
    2020-09-03 Resolved
    KB4586853 2020-11-30

    These are known and resolved issues:

    https://learn.microsoft.com/en-us/windows/release-health/status-windows-10-21h2
    https://learn.microsoft.com/en-us/windows/release-health/resolved-issues-windows-10-21h2

    https://learn.microsoft.com/en-us/windows/release-health/status-windows-11-21h2
    https://learn.microsoft.com/en-us/windows/release-health/resolved-issues-windows-11-21h2

    1) Please send feedback to Microsoft using the Feedback Hub:
    https://support.microsoft.com/en-us/windows/send-feedback-to-microsoft-with-the-feedback-hub-app-f59187f8-8739-22d6-ba93-f66612949332

    2) If possible please use English as the default language so that files can be scanned and read:
    https://www.tenforums.com/tutorials/3813-add-remove-change-display-language-windows-10-a.html
    https://www.tenforums.com/tutorials/136792-change-display-language-windows-10-a.html

    3) Run the V2 log collector and post a share link into this thread using one drive, drop box, or google drive

    https://www.windowsq.com/t/bsod-posting-instructions.17/
    https://www.tenforums.com/bsod-crashes-debugging/2198-bsod-posting-instructions.html
    https://www.elevenforum.com/t/bsod-posting-instructions.103/

    4) Search for C:\windows\memory.dmp
    If the file size is < 2.5 GB then save to the downloads folder > zip > post a share link with only the memory dump into this thread

    .
    .
    .
    .
    .

    Please remember to vote and to mark the replies as answers if they help.
    .
    .
    .
    .
    .

    0 comments No comments