diff --git a/src/allocator/frame/buddy.rs b/src/allocator/frame/buddy.rs index 28ccec0695..a88110721b 100644 --- a/src/allocator/frame/buddy.rs +++ b/src/allocator/frame/buddy.rs @@ -163,7 +163,7 @@ impl FrameAllocator for BuddyAllocator { offset += A::PAGE_SIZE * 8; } - let footer = A::read::(map_virt); + let footer = A::read::(map_virt.add(Self::MAP_PAGE_BYTES)); map_phys = footer.next; } } @@ -199,7 +199,7 @@ impl FrameAllocator for BuddyAllocator { A::write(map_byte_virt, value); break; } else { - let footer = A::read::(map_virt); + let footer = A::read::(map_virt.add(Self::MAP_PAGE_BYTES)); map_phys = footer.next; map_page -= 1; }