Hi Dennis,

thanks a lot for the patch. We will apply the fix.

Best regards,
Vitali

Dennis Lawler wrote:

Fairly minimal patch to address ticket #6453, and some minor changes. I release this tiny bit of code under the MIT license.

Problem description and fix:

If verifier is enabled with “Force Pending IO requests”, IoCallDriver will return 0x103(STATUS_PENDING). If IoCallDriver returns pending, we wait for the completion event as we should – but we fail to copy the status from the IOSB, so the packet is completed with STATUS_PENDING. This will cause a verifier bugcheck, and an assertion on checked builds of Windows. The fix is to simply copy the status value from the IOSB to the status variable after waiting for completion.

On a side note, if anyone has a few spare cycles to work on #6183, it should be a pretty simple fix and would be greatly appreciated.

Additional changes:

- Optimization from DDK sample event-setting completion routine added. See WDK\src\general\toaster\wdm\filter\filter.c, FilterStartCompletionRoutine or http://msdn.microsoft.com/en-us/library/ms810023.aspx.

- Removed information and Irp->IoStatus.Status check as they are unnecessary.

-Dennis Lawler


_______________________________________________
vbox-dev mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-dev


_______________________________________________
vbox-dev mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-dev

Reply via email to