diff --git a/ntoskrnl/kd64/kdapi.c b/ntoskrnl/kd64/kdapi.c index ed1a74e9ee1..2d900336c24 100644 --- a/ntoskrnl/kd64/kdapi.c +++ b/ntoskrnl/kd64/kdapi.c @@ -2485,7 +2485,29 @@ KdSystemDebugControl( break; case SysDbgReadMsr: + if (InputBufferLength != sizeof(SYSDBG_MSR)) + { + Status = STATUS_INFO_LENGTH_MISMATCH; + } + else + { + PSYSDBG_MSR Request = (PSYSDBG_MSR)InputBuffer; + Status = KdpSysReadMsr(Request->Address, &Request->Data); + } + break; + case SysDbgWriteMsr: + if (InputBufferLength != sizeof(SYSDBG_MSR)) + { + Status = STATUS_INFO_LENGTH_MISMATCH; + } + else + { + PSYSDBG_MSR Request = (PSYSDBG_MSR)InputBuffer; + Status = KdpSysWriteMsr(Request->Address, &Request->Data); + } + break; + case SysDbgReadBusData: case SysDbgWriteBusData: case SysDbgCheckLowMemory: