aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHimbeer <himbeer@disroot.org>2024-07-02 15:17:37 +0200
committerHimbeer <himbeer@disroot.org>2024-07-02 15:17:37 +0200
commit657d5c803e88d5ae99ace5be92992671e5cdddb5 (patch)
tree85b854e44dcd2fe0eee396495f11b7f77863aea1 /src
parent1ed966bc6bfd9c8653441d1da58a320e490ec7fe (diff)
mem: Fix page allocator allocating 4096 times the amount of memory necessary
Diffstat (limited to 'src')
-rw-r--r--src/lib/mem.zig3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/mem.zig b/src/lib/mem.zig
index 25adc84..da50641 100644
--- a/src/lib/mem.zig
+++ b/src/lib/mem.zig
@@ -226,8 +226,9 @@ pub const PageAllocator = struct {
assert(n > 0);
if (n > maxInt(usize) - (paging.page_size - 1)) return null;
const aligned_len = mem.alignForward(usize, n, paging.page_size);
+ const num_pages = @divExact(aligned_len, paging.page_size);
- const slice = paging.zeroedAlloc(aligned_len) catch return null;
+ const slice = paging.zeroedAlloc(num_pages) catch return null;
assert(mem.isAligned(@intFromPtr(slice.ptr), paging.page_size));
return slice.ptr;
}