mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-02 12:56:05 +00:00
A private collect read from the allocation map makes no query, so it can't see memory that code bypassing WindowsMappings changed inside a recorded allocation. A page decommitted in place there is the case it can't catch: GetWriteWatch still succeeds over it, so the collect reports no writes where a query would have refused the range. With APS5_VERIFY_DIRECT_COLLECT set, each such collect also queries its span's regions, and Collect throws, naming the span and the switch, when GetWriteWatch succeeded over memory that is no longer committed private. ENVIRONMENT.md lists the switch. windows_write_watch_verify_direct (the same test binary with --verify-direct, the switch set) collects a recorded private allocation, checks its write is still reported, decommits one page in place and requires the next collect not to succeed. Without the check the collect succeeds. Adapts fable-void's 2760ad808.