From 876171f588754b61ae3fe3dd357807f3ccc13d72 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Sat, 8 Mar 2025 09:42:28 -0500 Subject: [PATCH] ram_disk: Add missing DEBUG_PAGE_ACCESS_START. This was removed from cache_get_pages, so we need to do it manually. Fixes a KDL reported in the comments of #16951. --- .../kernel/drivers/disk/virtual/ram_disk/ram_disk.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/add-ons/kernel/drivers/disk/virtual/ram_disk/ram_disk.cpp b/src/add-ons/kernel/drivers/disk/virtual/ram_disk/ram_disk.cpp index 160f431495..521d16f4b5 100644 --- a/src/add-ons/kernel/drivers/disk/virtual/ram_disk/ram_disk.cpp +++ b/src/add-ons/kernel/drivers/disk/virtual/ram_disk/ram_disk.cpp @@ -587,15 +587,16 @@ struct RawDevice : Device, DoublyLinkedListLinkImpl { cache_get_pages(fCache, (off_t)offset, (off_t)length, false, pages); AutoLocker locker(fCache); - uint64 j; - for (j = 0; j < length / B_PAGE_SIZE; j++) { + for (uint64 j = 0; j < length / B_PAGE_SIZE; j++) { // If we run out of pages (some may already be trimmed), stop. if (pages[j] == NULL) break; TRACE("free range %" B_PRIu32 ", page %" B_PRIu64 ", offset %" B_PRIu64 "\n", i, j, offset); - if (pages[j]->Cache()) + DEBUG_PAGE_ACCESS_START(pages[j]); + + if (pages[j]->Cache() != NULL) fCache->RemovePage(pages[j]); vm_page_free(NULL, pages[j]); trimmedSize += B_PAGE_SIZE;