mirror of
https://github.com/reactos/reactos.git
synced 2024-07-01 02:10:07 +00:00
[ASM:X64] ASSERT that interrupts are enabled, when returning to user mode
This commit is contained in:
parent
ce5aa24c50
commit
8ec888487a
|
@ -786,6 +786,11 @@ PUBLIC KiSystemCallEntry64
|
|||
#if DBG
|
||||
/* Restore rbp */
|
||||
mov rbp, [rsp + SYSCALL_ALLOCATION + KTRAP_FRAME_Rbp]
|
||||
|
||||
test dword ptr [rsp + MAX_SYSCALL_PARAM_SIZE + KTRAP_FRAME_EFlags], HEX(200)
|
||||
jnz IntsEnabled
|
||||
int 3
|
||||
IntsEnabled:
|
||||
#endif
|
||||
|
||||
/* Disable interrupts for return */
|
||||
|
|
|
@ -142,6 +142,7 @@ ENDM
|
|||
*/
|
||||
MACRO(ExitTrap, Flags)
|
||||
LOCAL kernel_mode_return
|
||||
LOCAL IntsEnabled
|
||||
|
||||
#if DBG
|
||||
/* Check previous irql */
|
||||
|
@ -177,6 +178,14 @@ MACRO(ExitTrap, Flags)
|
|||
|
||||
endif
|
||||
|
||||
#if DBG
|
||||
/*Make sure interrupts are enabled */
|
||||
test dword ptr [rbp + KTRAP_FRAME_EFlags], HEX(200)
|
||||
jnz IntsEnabled
|
||||
int HEX(2c)
|
||||
IntsEnabled:
|
||||
#endif
|
||||
|
||||
/* Swap gs to user mode */
|
||||
swapgs
|
||||
|
||||
|
|
Loading…
Reference in a new issue