[PATCH] ntoskrnl.exe/tests: Avoid race condition in test driver.

Paul Gofman pgofman at codeweavers.com
Wed Jun 3 06:29:44 CDT 2020


Might fix random driver crash on testbot Win8 machine.

Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
---
 dlls/ntoskrnl.exe/tests/driver.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c
index b3865fea0d9..fa8d7b20e3e 100644
--- a/dlls/ntoskrnl.exe/tests/driver.c
+++ b/dlls/ntoskrnl.exe/tests/driver.c
@@ -2058,7 +2058,9 @@ static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *st
     main_test_work_item = IoAllocateWorkItem(lower_device);
     ok(main_test_work_item != NULL, "main_test_work_item = NULL\n");
 
+    IoMarkIrpPending(irp);
     IoQueueWorkItem(main_test_work_item, main_test_task, DelayedWorkQueue, irp);
+
     return STATUS_PENDING;
 }
 
@@ -2244,7 +2246,6 @@ static NTSTATUS WINAPI driver_IoControl(DEVICE_OBJECT *device, IRP *irp)
         irp->IoStatus.Status = status;
         IoCompleteRequest(irp, IO_NO_INCREMENT);
     }
-    else IoMarkIrpPending(irp);
     return status;
 }
 
-- 
2.26.2




More information about the wine-devel mailing list