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