From 26afc3c6c3e7de2ec55e4df0e4870dffa7d1aa45 Mon Sep 17 00:00:00 2001 From: Max Wash Date: Sun, 8 Feb 2026 12:50:08 +0000 Subject: [PATCH] vm: sparse: fix region base/limit alignment calculation --- vm/sparse.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/vm/sparse.c b/vm/sparse.c index 286a5b4..aa28f6a 100644 --- a/vm/sparse.c +++ b/vm/sparse.c @@ -267,7 +267,11 @@ void vm_sparse_init(void) { if (it.it_base & VM_PAGE_MASK) { it.it_base &= ~VM_PAGE_MASK; - it.it_base += VM_PAGE_SIZE; + } + + if (it.it_limit & VM_PAGE_MASK) { + it.it_limit &= ~VM_PAGE_MASK; + it.it_limit += VM_PAGE_SIZE; } for (phys_addr_t i = it.it_base; i < it.it_limit; @@ -281,7 +285,11 @@ void vm_sparse_init(void) { if (it.it_base & VM_PAGE_MASK) { it.it_base &= ~VM_PAGE_MASK; - it.it_base += VM_PAGE_SIZE; + } + + if (it.it_limit & VM_PAGE_MASK) { + it.it_limit &= ~VM_PAGE_MASK; + it.it_limit += VM_PAGE_SIZE; } for (phys_addr_t i = it.it_base; i < it.it_limit;