From a964c2cdaf021d17b07bd536a2ee95e43aeecec0 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Sat, 8 Aug 2026 13:23:59 -0400 Subject: [PATCH] kernel/vm: Move page ACCESS state up in VMCache::Delete. Should fix #20240. (cherry picked from commit 5e3fdaa3cc70c1c9a09d6995e585ca400451cf56) Change-Id: I090439121e036bf3ba5cccd9bac2bbb081aa77e1 Reviewed-on: https://review.haiku-os.org/c/haiku/+/11500 Reviewed-by: waddlesplash --- src/system/kernel/vm/VMCache.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/system/kernel/vm/VMCache.cpp b/src/system/kernel/vm/VMCache.cpp index 062cd460fe..686822486e 100644 --- a/src/system/kernel/vm/VMCache.cpp +++ b/src/system/kernel/vm/VMCache.cpp @@ -691,6 +691,8 @@ VMCache::Delete() "@!page %p; cache %p", page, this, page, this); } + DEBUG_PAGE_ACCESS_START(page); + if (page->State() == PAGE_STATE_MODIFIED) { // pages can't be freed in MODIFIED state page->modified = false; @@ -704,7 +706,6 @@ VMCache::Delete() TRACE(("vm_cache_release_ref: freeing page 0x%lx\n", page->physical_page_number)); - DEBUG_PAGE_ACCESS_START(page); vm_page_free_etc(this, page, &reservation); } vm_page_unreserve_pages(&reservation);