From 8e35fc209fbc239394b896954df7a43f9294563b Mon Sep 17 00:00:00 2001 From: Godones Date: Wed, 1 Apr 2026 17:18:46 +0800 Subject: [PATCH] Handles absent entries with default page size Ensures that a default 4K page size is returned when an entry is not present, avoiding potential underflow when the page size exceeds the remaining region. Signed-off-by: Godones --- page_table_multiarch/src/bits64.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/page_table_multiarch/src/bits64.rs b/page_table_multiarch/src/bits64.rs index dc47936..8afa4d8 100644 --- a/page_table_multiarch/src/bits64.rs +++ b/page_table_multiarch/src/bits64.rs @@ -551,10 +551,10 @@ impl<'a, M: PagingMetaData, PTE: GenericPTE, H: PagingHandler> PageTable64Cursor if entry.is_present() { entry.set_flags(flags, page_size.is_huge()); self.push(vaddr); - } - // ignore if not present - - page_size + page_size + } else { + PageSize::Size4K + } // ignore if not present } Err(PagingError::NotMapped) => PageSize::Size4K, Err(e) => {