diff --git a/src/mem/pagemap.h b/src/mem/pagemap.h index 94f5c1c..ce2aa5e 100644 --- a/src/mem/pagemap.h +++ b/src/mem/pagemap.h @@ -387,7 +387,7 @@ namespace snmalloc */ size_t index_for_address(uintptr_t p) { - return reinterpret_cast((p >> SHIFT) & (OS_PAGE_SIZE - 1)); + return bits::align_down(static_cast(p) >> SHIFT, OS_PAGE_SIZE); } /**