https://bugs.winehq.org/show_bug.cgi?id=37356
Bug ID: 37356 Summary: Multiple software protection/DRM schemes need ntoskrnl 'IoGetDeviceObjectPointer' implementation (Tages v5.x, ProtectDISC 6.x) Product: Wine Version: 1.7.27 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: ntoskrnl Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net
Hello folks,
split off from bug 9484 and also mentioned here: https://github.com/compholio/wine-compholio/issues/80
Can be reproduced with Tagès drivers version 5.x alone (two stacked/layered drivers). Also needed for other DRM schemes, such as ProtectDISC 6.x
--- snip --- ... 0016:Call KERNEL32.CreateProcessW(00000000,00119fa8 L"C:\windows\system32\winedevice.exe lirsgt",00000000,00000000,00000000,00000400,00540000,00000000,0084e4c8,0084e50c) ret=7edb5d3f ... 0038:Call KERNEL32.__wine_kernel_init() ret=7bc5a00d 0016:Ret KERNEL32.CreateProcessW() retval=00000001 ret=7edb5d3f ... 003c:Starting thread proc 0x7ed9b77b (arg=0x119670) ... 003c:Call advapi32.RegisterServiceCtrlHandlerExW(001152aa L"lirsgt",7edfc61f,00000000) ret=7edfc86c 003c:Ret advapi32.RegisterServiceCtrlHandlerExW() retval=0011a968 ret=7edfc86c ... 0009:Call KERNEL32.CreateFileW(0033c4d0 L"\\.\lirsgt",c0000000,00000000,00000000,00000003,40000000,00000000) ret=0040108f ... 0009:Ret KERNEL32.CreateFileW() retval=00000064 ret=0040108f ... 0009:Call KERNEL32.DeviceIoControl(00000064,0022e013,0033c6fc,00000000,0033c6fc,00000000,0033c6f8,00000000) ret=00401ac3 ... 003c:Call driver dispatch 0x542140 (device=0x11aeb0,irp=0x53e780) 003c:Call ntoskrnl.exe.IoAllocateMdl(0011b4c0,00000005,00000000,00000000,00000000) ret=005416bd 003c:Call ntdll.RtlAllocateHeap(00110000,00000008,00000020) ret=7ed2eb34 003c:Ret ntdll.RtlAllocateHeap() retval=0011b0e0 ret=7ed2eb34 003c:fixme:ntoskrnl:IoGetCurrentProcess () stub 003c:Ret ntoskrnl.exe.IoAllocateMdl() retval=0011b0e0 ret=005416bd 003c:Call ntoskrnl.exe.MmProbeAndLockPages(0011b0e0,00000001,00000001) ret=005416d9 003c:fixme:ntoskrnl:MmProbeAndLockPages (0x11b0e0, 1, 1): stub 003c:Ret ntoskrnl.exe.MmProbeAndLockPages() retval=0000003f ret=005416d9 003c:Call ntoskrnl.exe.MmMapLockedPagesSpecifyCache(0011b0e0,00000000,00000001,00000000,00000000,00000020) ret=005429c4 003c:fixme:ntoskrnl:MmMapLockedPagesSpecifyCache (0x11b0e0, 0, 1, (nil), 0, 32): stub 003c:Ret ntoskrnl.exe.MmMapLockedPagesSpecifyCache() retval=00000000 ret=005429c4 003c:Call ntdll.RtlInitUnicodeString(0053e640,0053e648 L"\Device\atksgt") ret=00540387 003c:Ret ntdll.RtlInitUnicodeString() retval=0053e640 ret=00540387 003c:Call ntoskrnl.exe.IoGetDeviceObjectPointer(0053e640,00020000,0053e63c,0053e638) ret=005403a1 003c:fixme:ntoskrnl:IoGetDeviceObjectPointer stub: L"\Device\atksgt" 20000 0x53e63c 0x53e638 003c:Ret ntoskrnl.exe.IoGetDeviceObjectPointer() retval=c0000002 ret=005403a1 003c:trace:seh:raise_exception code=c0000005 flags=0 addr=0x5403c1 ip=005403c1 tid=003c 003c:trace:seh:raise_exception info[0]=00000001 003c:trace:seh:raise_exception info[1]=00000000 003c:trace:seh:raise_exception eax=00000000 ebx=7ed47000 ecx=0053e640 edx=0053ef8c esi=0011af68 edi=0053e944 003c:trace:seh:raise_exception ebp=00000000 esp=0053e638 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010282 003c:trace:seh:call_vectored_handlers calling handler at 0x7ed2d73c code=c0000005 flags=0 003c:trace:seh:call_vectored_handlers handler at 0x7ed2d73c returned 0 003c:trace:seh:call_stack_handlers calling handler at 0x7bc9de37 code=c0000005 flags=0 003c:Call KERNEL32.UnhandledExceptionFilter(0053e104) ret=7bc9de71 wine: Unhandled page fault on write access to 0x00000000 at address 0x5403c1 (thread 003c), starting debugger... ... --- snip ---
$ sha1sum TagesSetup.exe b360bfc82b0c807c1caa7e423dfa4bc6515830a9 TagesSetup.exe
$ du -sh TagesSetup.exe 204K TagesSetup.exe
$ wine --version wine-1.7.27-113-g5afbb6b
Regards