https://bugs.winehq.org/show_bug.cgi?id=57588
Bug ID: 57588 Summary: Guardant USB key drivers: grdkey.sys crashes Product: Wine Version: 10.0-rc3 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntoskrnl Assignee: wine-bugs@winehq.org Reporter: amorozov@etersoft.ru Distribution: ---
Created attachment 77697 --> https://bugs.winehq.org/attachment.cgi?id=77697 Log with WINEDEBUG=+ntoskrnl,+plugplay and winedbg output
I installed Guardant USB key drivers 7.0.224 from here: https://www.guardant.com/support/users/download/2238/ with WoW64 Wine build.
$ md5sum GrdDrivers.exe 731d388d2ee4c1a4f45d655e4b8c9163 GrdDrivers.exe
After installation windows/system32/drivers/grdkey.sys appears. And it crashes at Wine start: wine: Unhandled page fault on read access to 0000000000000008 at address 00006FFFFC8A295B (thread 00f0), starting debugger...
In AddDevice handler grdkey.sys calls IoOpenDeviceRegistryKey. This results in calling get_device_instance_id -> get_device_id and sending IRP_MJ_PNP/IRP_MN_QUERY_ID with BusQueryDeviceID to the driver which calls IofCallDriver(NULL, ....) and crashes.
The crash can be avoided with commenting out this line: device = IoGetAttachedDevice( device ); in get_device_id function in dlls/ntoskrnl.exe/pnp.c
But I assume that the correct fix should be in avoiding to send IRPs from IoOpenDeviceRegistryKey. MSDN says that IRP_MN_QUERY_ID is sent before loading driver and calling AddDevice: https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/adding-a-p...
https://bugs.winehq.org/show_bug.cgi?id=57588
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, hardware
http://bugs.winehq.org/show_bug.cgi?id=57588
llagostinho01@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |llagostinho01@gmail.com
--- Comment #1 from llagostinho01@gmail.com --- Had the same failure using MOBILedit Forensic. It installed the same Guardant driver. After installation, Windows refused to boot and froze because grdkey.sys loaded during startup. I fixed the system by booting into the WinPE environment from Hiren’s BootCD and deleting every grdkey.sys file from the offline Windows drive. Once the files were removed, Windows booted without errors.