1Next-Gen (NT 5.2) Executive Locks in NTOSKRNL. 2------------------------------ 31a. Rundown Protection 4USED IN: Thread/Process Ps* Code. 5EXAMPLES: NtSetInformationProcess/Thread, PspCreateThread/Process, PspSuspend/ResumeThread... 6REPLACES: Unlocked access and/or PsLock/UnlockProcess. 7ROS STATUS: Implemented. Code needs cleanup. Not yet tested. Not yet used. 8 91b. Cache-Aware Rundown Protection 10USED IN: Unknown. Functions exported for drivers. 11EXAMPLES: None. 12REPLACES: Nothing. 13ROS STATUS: Unimplemented. 14 152. Guarded Mutex 16USED IN: Configuration Manager, MCB Functions (FsRtl), Binary Hive Module (Hv), PnP (Notifications), LPC, Jobs (Ps), Device Map (Ob), and Memory Management (Address Space/Virtual Memory). 17EXAMPLES: Too many. 18REPLACES: Anything that used FAST_MUTEX. 19ROS STATUS: Implemented, slightly tested; appears to still contain a bug. 20 213. Fast Referencing 22USED IN: Tokens. 23EXAMPLES: R: PsReferencePrimary/EffectiveToken. D: Failure code of anything that calls those two functions. 24REPLACES: Normal referencing. 25ROS STATUS: Hackplemented stubs. 26 274a. Pushlocks 28USED IN: Configuration Manager (Cm), Handle Table (Ex), Binary Hive Module (Hv), Memory Management (Address Space/Virtual Memory), Object Namespace (Directories/Names) (Ob), Impersonation (Ps). 29EXAMPLES: Too many. 30REPLACES: Anything that used ERESOURCE. 31ROS STATUS: Implemented (missing Block/([Timed]Wait)Unblock) and slightly tested. 32 334b. Cache-Aware Pushlocks 34USED IN: AWE (Mm). 35EXAMPLES: None. 36REPLACES: Executive Resources. 37ROS STATUS: Unimplemented. 38 39TODO: Kernel Locks (Queued and In-Stack Spinlocks) 40