[PATCH 2/2] ntoskrnl.exe: Handle already-loaded drivers in handle_bus_relations().

Zebediah Figura z.figura12 at gmail.com
Fri Dec 21 17:28:47 CST 2018


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/ntoskrnl.exe/ntoskrnl.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index d0112f4904..29a85b304e 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -3757,7 +3757,10 @@ static void handle_bus_relations( DEVICE_OBJECT *device )
     strcpyW( buffer, servicesW );
     strcatW( buffer, driver );
     RtlInitUnicodeString( &string, buffer );
-    if (ZwLoadDriver( &string ) != STATUS_SUCCESS)
+    status = ZwLoadDriver( &string );
+    if (status == STATUS_IMAGE_ALREADY_LOADED)
+        return;
+    else if (status != STATUS_SUCCESS)
     {
         ERR_(plugplay)( "Failed to load driver %s\n", debugstr_w(driver) );
         return;
-- 
2.14.1




More information about the wine-devel mailing list