reactos/ntoskrnl/ke
Oleg Dubinskiy ab528ac6ae
[NTOS:KE] Acquire PRCB lock before marking thread ready for execution in dispatch interrupt routine (#6387)
Fixed in x86 and ARM (this was already done in x64).

This is needed because thread preparation routine KxQueueReadyThread()
releases PRCB lock, but does not acquire it, so that the locking must
always be done outside the function, same as in all its other usage cases.
This fixes an assert from release PRCB routine, when booting x86 ReactOS
in SMP mode, because it attempts to release the lock when it is not
actually acquired.

Addendum to commit a011d19ed.

+ Add an assert in KxQueueReadyThread() to ensure the PRCB lock is actually acquired.
2024-01-20 15:58:39 +01:00
..
amd64 [NTOS:KE] Set IRQL to SYNCH_LEVEL when exiting from idle after the thread is ready for execution (#6386) 2024-01-20 15:55:20 +01:00
arm [NTOS:KE] Acquire PRCB lock before marking thread ready for execution in dispatch interrupt routine (#6387) 2024-01-20 15:58:39 +01:00
i386 [NTOS:KE] Acquire PRCB lock before marking thread ready for execution in dispatch interrupt routine (#6387) 2024-01-20 15:58:39 +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 [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
wait.c [PSDK][NDK] Use hex to define MIN/MAX constants like in native SDK 2021-07-23 22:03:48 +02:00