WdfRequestUnmarkCancelable call is causing 0x10D WDF_VIOLATION bugcheck

  • Thread starter Thread starter user_931196
  • Start date Start date
U

user_931196

Guest
I am working on a WDF driver, where an IOCTL is sent from user app for retrieving some event based info. Details are as below, thanks in advance for your help.

UserApp -> Driver1 -> Driver 2

Driver1:

  • Provides cancelation routine & marks the WDFREQUEST as cancelable,
  • Saves the WDFREQUEST in its device context
  • Sets completion routine and forwards the WDFREQUEST to Driver2 using WdfIoTargetFormatRequestForIoctl/WdfRequestSend

Driver2:

  • Pends the request in manual power managed WDFQueue and waits for the event

--------> Event Occurs

Driver2 dequeues the WDFREQUEST, processes the event and completes the WDFREQUST Driver1's completion event gets called. It calls WdfRequestUnmarkCancelable before completing the request where the bugcheck occurs.


Driver Verifier:


************************************************************
Driver Verifier detected violation:

A driver has called IoCallDriver without setting the CancelRoutine in
the Irp to NULL.
************************************************************


-----------BugCheck Details------------------

WDF_VIOLATION (10d) The Kernel-Mode Driver Framework was notified that Windows detected an error in a framework-based driver. In general, the dump file will yield additional information about the driver that caused this bug check.

Arguments: Arg1: 0000000000000006, A fatal error was made in handling a WDF request. In this case, Parameter 2 further specifies the type of fatal error that has been made, as defined by the enumeration WDF_REQUEST_FATAL_ERROR.

Arg2: 0000000000000005, An attempt was made to retrieve a request from the wrong queue.

Arg3: ffffb08a7b558e38, A pointer to an IO_CSQ_IRP_CONTEXT structure, which contains a pointer to the IRP and a pointer to the IRP's queue. The structure belongs to a WDF request object. Please see the driver's WDF logs for more information.

Arg4: ffffb08a7a9d3de0, Reserved.

Continue reading...
 
Back
Top