reactos/ntoskrnl/ke
Timo Kreuzer 05456808e8 [NTOS:KE/x64] Fix handling of non-volatiles in trap vs exception frame
The registers that are saved/restored in the trap / exception frame need to be consistent between all entry/exit points as well as the functions that convert between trap/exception frame and context. The trap frame contains only the non-volatile registers and rbp, the rest is saved in the exception frame.
The previous code didn't save rbp in the syscall handler, which led to it being clobbered when exiting though KiServiceExit2 rather than returning back to the syscall exit path. Also KeContextToTrapFrame would use rbx, rsi and rdi from the trap frame, which wouldn't be saved there by the syscall handler.
2024-04-14 16:09:20 +02:00
..
amd64 [NTOS:KE/x64] Fix handling of non-volatiles in trap vs exception frame 2024-04-14 16:09:20 +02:00
arm [NTOS:KE/x86/arm] Use a better boot process affinity value (#6399) 2024-01-24 17:52:56 +01:00
i386 [NTOS:KE/x86/arm] Use a better boot process affinity value (#6399) 2024-01-24 17:52:56 +01:00
apc.c [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
balmgr.c Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
bug.c [NTOS] Include kdbg/kdb.h only in the files that really need it. 2023-04-11 00:44:10 +02:00
clock.c Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
config.c [NTOS:KE] Both KeFindConfigurationEntry() and KeFindConfigurationNextEntry() functions are exported by NTOSKRNL, so they definitively must NOT be in the discardable INIT section!! 2021-04-10 00:43:52 +02:00
devqueue.c [NTOS:KE] Fix 'Sert' typo, in a comment (#1929) 2019-09-23 01:13:07 +02:00
dpc.c [NTOS:KE:EX] Fix comment typo. 2023-12-24 22:39:35 +01:00
eventobj.c Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
except.c [NTOS] Fix NtContinue for x64 2022-11-24 21:17:58 +02:00
freeze.c [NTOS:KD64,KE] IRQL is automatically adjusted during calls to KdEnterDebugger() and KdExitDebugger(). (#3942) 2021-09-12 18:20:32 +02:00
gate.c [NTOS:KE] Rename some locking functions to reflect the IRQL level changes 2019-12-31 15:30:27 +01:00
gmutex.c Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
ipi.c [NTOS:KE/x64] Implement initial IPI code 2023-12-18 23:16:39 +02:00
krnlinit.c [NTOS:KE] Fix initialization of node block for application processors 2024-01-18 22:41:46 +01:00
mutex.c [NTOS] Consistently use MUTANT_INCREMENT. 2020-10-16 16:09:54 +02:00
procobj.c [NTOS:KE] Fix some locking issues 2021-06-19 12:17:18 +02:00
profobj.c Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
queue.c [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
semphobj.c Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
spinlock.c [NTOS:KE] Unconditionally check IRQL when acquiring & releasing spinlock at DISPATCH_LEVEL 2021-06-29 11:49:20 +02:00
thrdobj.c [NTOS:KE] Fix some KAFFINITYs 2024-01-16 08:15:53 +01:00
thrdschd.c [NTOS:KE] Fix some KAFFINITYs 2024-01-16 08:15:53 +01:00
time.c [NTOS:KE:X64] Fix KiWriteSystemTime 2020-10-31 14:23:16 +01:00
timerobj.c [NTOS:KE] Fix calculation of timer expiration 2024-04-07 09:14:26 +02:00
wait.c [PSDK][NDK] Use hex to define MIN/MAX constants like in native SDK 2021-07-23 22:03:48 +02:00