mirror of
https://github.com/SerenityOS/serenity
synced 2026-05-09 00:22:43 +02:00
Writes to SharedInodeVMObjects could cause a Protection Violation if a page was marked as dirty by a different process. This happened due to a combination of 2 things: * handle_dirty_on_write_fault() was skipped if a page was already marked as dirty * when a page was marked as dirty, only the Region that caused the page fault was remapped This commit: * fixes the crash by making handle_fault() stop checking if a page was marked dirty before running handle_dirty_on_write_fault() * modifies handle_dirty_on_write_fault() so that it always marks the page as dirty and remaps the page (this avoids a 2nd bug that was never hit due to the 1st bug)
27 KiB
27 KiB