mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-29 19:26:33 +00:00
- Fix another typo in CommonDispatchException (with yet another critical flaw as a result). Sometimes, exceptions would incorrectly be detected as coming from user-mode even though CS was kernel mode. When creating the KTRAP_FRAME, the kernel would then add the Ring 3 RPL_MASK (3) (because it believed we're in usermode) to the kernel-mode CS, creating the invalid CS of 0xB, which would lead into a GPF during the iretd.
- Re-enable DebugPrint since this now works. svn path=/trunk/; revision=25976
This commit is contained in:
@@ -23,7 +23,6 @@ DebugPrint(IN PANSI_STRING DebugString,
|
||||
IN ULONG Level)
|
||||
{
|
||||
/* Call the INT2D Service */
|
||||
return STATUS_SUCCESS;
|
||||
return DebugService(BREAKPOINT_PRINT,
|
||||
DebugString->Buffer,
|
||||
DebugString->Length,
|
||||
|
||||
@@ -127,6 +127,7 @@ KdpEnterDebuggerException(IN PKTRAP_FRAME TrapFrame,
|
||||
|
||||
/* This we can handle: simply bump EIP */
|
||||
Context->Eip++;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Get out of here if the Debugger isn't connected */
|
||||
|
||||
@@ -604,7 +604,7 @@ NoParams:
|
||||
|
||||
/* Set the record in ECX and check if this was V86 */
|
||||
mov ecx, esp
|
||||
test dword ptr [esp+KTRAP_FRAME_EFLAGS], EFLAGS_V86_MASK
|
||||
test dword ptr [ebp+KTRAP_FRAME_EFLAGS], EFLAGS_V86_MASK
|
||||
jz SetPreviousMode
|
||||
|
||||
/* Set V86 mode */
|
||||
@@ -791,6 +791,7 @@ EnableInterrupts3:
|
||||
sti
|
||||
|
||||
PrepInt3:
|
||||
|
||||
/* Prepare the exception */
|
||||
mov esi, ecx
|
||||
mov edi, edx
|
||||
|
||||
Reference in New Issue
Block a user