We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hello Satoshi,
I've been trying to get SimpleSvmHook working with Windows 1903 with my Ryzen 3600. It seems after the system virtualizes, that it runs into an error:
For some reason it's not being set to: NT_ASSERT(GuestContext->VpRegs->Rcx == IA32_MSR_EFER);
I think this is because an error is coming up. I ended up figure out which value GuestContext->VpRegs->Rcx contained:
0xc0002001
If we look at the AMD Manual:
So I'm thinking this is a MCA_STATUS error of some sort?
Here's a copy paste of the dump analysis:
Use !analyze -v to get detailed debugging information. BugCheck 139, {4, fffff8028227c4f0, fffff8028227c448, 0} *** WARNING: Unable to verify timestamp for win32k.sys *** ERROR: Module load completed but symbols could not be loaded for win32k.sys Probably caused by : memory_corruption Followup: memory_corruption --------- 0: kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* KERNEL_SECURITY_CHECK_FAILURE (139) A kernel component has corrupted a critical data structure. The corruption could potentially allow a malicious user to gain control of this machine. Arguments: Arg1: 0000000000000004, The thread's stack pointer was outside the legal stack extents for the thread. Arg2: fffff8028227c4f0, Address of the trap frame for the exception that caused the bugcheck Arg3: fffff8028227c448, Address of the exception record for the exception that caused the bugcheck Arg4: 0000000000000000, Reserved Debugging Details: ------------------ TRAP_FRAME: fffff8028227c4f0 -- (.trap 0xfffff8028227c4f0) NOTE: The trap frame does not contain all registers. Some register values may be zeroed or incorrect. rax=ffff970419216000 rbx=0000000000000000 rcx=0000000000000004 rdx=ffff97041921c000 rsi=0000000000000000 rdi=0000000000000000 rip=fffff8027c64e2d3 rsp=fffff8028227c680 rbp=fffff8028227c6f0 r8=ffff97041921c000 r9=fffff8028227c710 r10=ffff9889c9113080 r11=ffff9889d0efbe10 r12=0000000000000000 r13=0000000000000000 r14=0000000000000000 r15=0000000000000000 iopl=0 nv up ei pl zr na po nc nt!RtlpGetStackLimitsEx+0x12e557: fffff802`7c64e2d3 cd29 int 29h Resetting default scope EXCEPTION_RECORD: fffff8028227c448 -- (.exr 0xfffff8028227c448) ExceptionAddress: fffff8027c64e2d3 (nt!RtlpGetStackLimitsEx+0x000000000012e557) ExceptionCode: c0000409 (Security check failure or stack buffer overrun) ExceptionFlags: 00000001 NumberParameters: 1 Parameter[0]: 0000000000000004 CUSTOMER_CRASH_COUNT: 1 PROCESS_NAME: System CURRENT_IRQL: 2 ERROR_CODE: (NTSTATUS) 0xc0000409 - The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application. EXCEPTION_CODE: (NTSTATUS) 0xc0000409 - The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application. EXCEPTION_PARAMETER1: 0000000000000004 BUGCHECK_STR: 0x139 DEFAULT_BUCKET_ID: CODE_CORRUPTION ANALYSIS_VERSION: 6.3.9600.17336 (debuggers(dbg).150226-1500) amd64fre EXCEPTION_STR: 0x0 LAST_CONTROL_TRANSFER: from fffff8027c5d1ae9 to fffff8027c5bfcc0 FAULTING_THREAD: 0000000000000000 STACK_TEXT: fffff802`8227c1c8 fffff802`7c5d1ae9 : 00000000`00000139 00000000`00000004 fffff802`8227c4f0 fffff802`8227c448 : nt!KeBugCheckEx fffff802`8227c1d0 fffff802`7c5d1f10 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiBugCheckDispatch+0x69 fffff802`8227c310 fffff802`7c5d02a5 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiFastFailDispatch+0xd0 fffff802`8227c4f0 fffff802`7c64e2d3 : fffff802`8227c930 ffff9889`d0efbbd8 00000001`00000010 00000000`00000000 : nt!KiRaiseSecurityCheckFailure+0x325 fffff802`8227c680 fffff802`7c4c2a11 : fffff802`8227c930 ffff9889`d0efbbd8 000004e8`fffffb30 000004d0`00000003 : nt!RtlpGetStackLimitsEx+0x12e557 fffff802`8227c6b0 fffff802`7c4c738e : ffff9889`d0efbbd8 fffff802`8227ce30 ffff9889`d0efbbd8 00000000`00000000 : nt!RtlDispatchException+0xc1 fffff802`8227c900 fffff802`7c5c0b42 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiDispatchException+0x16e fffff802`8227cfb0 fffff802`7c5c0b10 : fffff802`7c5d1c16 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KxExceptionDispatchOnExceptionStack+0x12 ffff9889`d0efba98 fffff802`7c5d1c16 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiExceptionDispatchOnExceptionStackContinue ffff9889`d0efbaa0 fffff802`7c5d05de : 00000000`02d6d000 00000000`00000001 00000001`e2afd000 fffff802`7d5f1892 : nt!KiExceptionDispatch+0x116 ffff9889`d0efbc80 fffff802`7d5f6251 : 00000001`cdd72900 fffff802`7d5f309f fffff802`7c76d0a0 fffff802`7d5f663b : nt!KiRaiseAssertion+0x31e ffff9889`d0efbe10 fffff802`7d5f6480 : ffff9889`d0ef6000 ffff9889`d0efbeb0 00000000`00000000 00000000`00000000 : SimpleSvmHook!HandleMsrAccess+0x21 [C:\Code\SimpleSvmHook\SimpleSvmHook\VmmMain.cpp @ 176] ffff9889`d0efbe60 fffff802`7d5f105e : ffff9889`d0ef6000 ffff9889`d0efbf50 00000000`00000000 00000000`00000000 : SimpleSvmHook!HandleVmExit+0xd0 [C:\Code\SimpleSvmHook\SimpleSvmHook\VmmMain.cpp @ 308] ffff9889`d0efbed0 ffff9889`d0ef6000 : ffff9889`d0efbf50 00000000`00000000 00000000`00000000 00000000`00000000 : SimpleSvmHook!SvLaunchVm+0x5e [C:\Code\SimpleSvmHook\SimpleSvmHook\x64.asm @ 175] ffff9889`d0efbed8 ffff9889`d0efbf50 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0xffff9889`d0ef6000 ffff9889`d0efbee0 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0xffff9889`d0efbf50 CHKIMG_EXTENSION: !chkimg -lo 50 -d !hal fffff8027c3602ca - hal!HalPerformEndOfInterrupt+1a [ 00:90 ] fffff8027c3603a7-fffff8027c3603a8 2 bytes - hal!HalPutScatterGatherList+67 (+0xdd) [ 48 ff:4c 8b ] fffff8027c3603ae-fffff8027c3603b1 4 bytes - hal!HalPutScatterGatherList+6e (+0x07) [ 0f 1f 44 00:e8 ed cc 40 ] fffff8027c3df8ec-fffff8027c3df8ed 2 bytes - hal!HalpCmcWorkerRoutine+3c [ 48 ff:4c 8b ] fffff8027c3df8f3-fffff8027c3df8f6 4 bytes - hal!HalpCmcWorkerRoutine+43 (+0x07) [ 0f 1f 44 00:e8 e8 85 0c ] fffff8027c3df90a-fffff8027c3df90b 2 bytes - hal!HalpCmcWorkerRoutine+5a (+0x17) [ 48 ff:4c 8b ] fffff8027c3df911-fffff8027c3df914 4 bytes - hal!HalpCmcWorkerRoutine+61 (+0x07) [ 0f 1f 44 00:e8 aa 17 15 ] fffff8027c3df928-fffff8027c3df929 2 bytes - hal!HalpCmcWorkerRoutine+78 (+0x17) [ 48 ff:4c 8b ] fffff8027c3df92f-fffff8027c3df932 4 bytes - hal!HalpCmcWorkerRoutine+7f (+0x07) [ 0f 1f 44 00:e8 7c df 07 ] fffff8027c3df977-fffff8027c3df978 2 bytes - hal!HalpCmcWorkerRoutine+c7 (+0x48) [ 48 ff:4c 8b ] fffff8027c3df97e-fffff8027c3df981 4 bytes - hal!HalpCmcWorkerRoutine+ce (+0x07) [ 0f 1f 44 00:e8 8d dc 07 ] 31 errors : !hal (fffff8027c3602ca-fffff8027c3df981) MODULE_NAME: memory_corruption IMAGE_NAME: memory_corruption FOLLOWUP_NAME: memory_corruption DEBUG_FLR_IMAGE_TIMESTAMP: 0 MEMORY_CORRUPTOR: LARGE STACK_COMMAND: ~0s ; kb FAILURE_BUCKET_ID: MEMORY_CORRUPTION_LARGE BUCKET_ID: MEMORY_CORRUPTION_LARGE ANALYSIS_SOURCE: KM FAILURE_ID_HASH_STRING: km:memory_corruption_large FAILURE_ID_HASH: {e29154ac-69a4-0eb8-172a-a860f73c0a3c} Followup: memory_corruption ---------
Seems that Rcx is set to something other than IA32_MSR_EFER (as talked about above)
I wasn't sure if there was some new changes with Ryzen 3000 series that need some tweaking or Ryzen Master on my system causing some issues etc.
Any suggestions? I appreciate any advice you give me, thank you.
The text was updated successfully, but these errors were encountered:
The assert was broken. It should be fixed with 7cef39f. Please try and let me know if the issue is not resolved.
Sorry, something went wrong.
Awesome! It's running, no bugchecks so far.. Thank you!
No branches or pull requests
Hello Satoshi,
I've been trying to get SimpleSvmHook working with Windows 1903 with my Ryzen 3600. It seems after the system virtualizes, that it runs into an error:
For some reason it's not being set to:
NT_ASSERT(GuestContext->VpRegs->Rcx == IA32_MSR_EFER);
I think this is because an error is coming up. I ended up figure out which value GuestContext->VpRegs->Rcx contained:
0xc0002001
If we look at the AMD Manual:
So I'm thinking this is a MCA_STATUS error of some sort?
Here's a copy paste of the dump analysis:
Seems that Rcx is set to something other than IA32_MSR_EFER (as talked about above)
I wasn't sure if there was some new changes with Ryzen 3000 series that need some tweaking or Ryzen Master on my system causing some issues etc.
Any suggestions? I appreciate any advice you give me, thank you.
The text was updated successfully, but these errors were encountered: