driver verifier detected problem in winpk filter

Home Forums Discussions Support Portal driver verifier detected problem in winpk filter

This topic contains 2 replies, has 2 voices, and was last updated by  Vadim Smirnov 4 years, 3 months ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #5381

    brianp
    Participant

    I have been trying to debug a system hang caused when passing a lot of traffic through the winpk filter. I decided to run the driver verifier against it, and at boot I’m greeted by a DRIVER_VERIFIER_DETECTED_VIOLATION BSOD with error code 0x40. The error codes are here:

    http://msdn.microsoft.com/en-us/library/windows/hardware/ff560187(v=vs.85).aspx

    So, Driver Verifier thinks that we’re calling an optimized spinlock acquire function when our IRQL

    I haven’t tried yet with debug symbols, so I haven’t been able to narrow down the offending call. From looking at the code, the most suspect spot I’ve found so far is in LWF’s MF_FindAdapterByUserHandle(). This is the only place That FILTER_ACQUIRE_LOCK() macro gets called as if we are already at DISPATCH_LEVEL. I am going to try always calling NdisAcquireSpinLock()/NdisReleaseSpinLock() to see if this Driver Verifier BSOD (and hopefully the system hang) go away.

    Has anyone seen this? Any ideas?

    #7106

    brianp
    Participant

    Changing the FILTER_ACQUIRE_LOCK() calls to never pass in TRUE have fixed the Driver Verifier violation, but I’m not sure that’s the best fix. It looks like we’re getting in there in a context that we aren’t expecting, and what I did just masks that problem.

    And now testing resumes to see if this fixes my system hangs…

    #7107

    Vadim Smirnov
    Moderator

    Thanks for reporting this. However, this is a known issue and it was fixed in version 3.1

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.