mirror of
https://github.com/reactos/reactos.git
synced 2025-07-23 19:33:36 +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:
parent
a195100319
commit
c44e8d2c89
3 changed files with 3 additions and 2 deletions
|
@ -23,7 +23,6 @@ DebugPrint(IN PANSI_STRING DebugString,
|
||||||
IN ULONG Level)
|
IN ULONG Level)
|
||||||
{
|
{
|
||||||
/* Call the INT2D Service */
|
/* Call the INT2D Service */
|
||||||
return STATUS_SUCCESS;
|
|
||||||
return DebugService(BREAKPOINT_PRINT,
|
return DebugService(BREAKPOINT_PRINT,
|
||||||
DebugString->Buffer,
|
DebugString->Buffer,
|
||||||
DebugString->Length,
|
DebugString->Length,
|
||||||
|
|
|
@ -127,6 +127,7 @@ KdpEnterDebuggerException(IN PKTRAP_FRAME TrapFrame,
|
||||||
|
|
||||||
/* This we can handle: simply bump EIP */
|
/* This we can handle: simply bump EIP */
|
||||||
Context->Eip++;
|
Context->Eip++;
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get out of here if the Debugger isn't connected */
|
/* 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 */
|
/* Set the record in ECX and check if this was V86 */
|
||||||
mov ecx, esp
|
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
|
jz SetPreviousMode
|
||||||
|
|
||||||
/* Set V86 mode */
|
/* Set V86 mode */
|
||||||
|
@ -791,6 +791,7 @@ EnableInterrupts3:
|
||||||
sti
|
sti
|
||||||
|
|
||||||
PrepInt3:
|
PrepInt3:
|
||||||
|
|
||||||
/* Prepare the exception */
|
/* Prepare the exception */
|
||||||
mov esi, ecx
|
mov esi, ecx
|
||||||
mov edi, edx
|
mov edi, edx
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue