diff options
author | Himbeer <himbeer@disroot.org> | 2024-07-02 15:17:37 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-07-02 15:17:37 +0200 |
commit | 657d5c803e88d5ae99ace5be92992671e5cdddb5 (patch) | |
tree | 85b854e44dcd2fe0eee396495f11b7f77863aea1 /src | |
parent | 1ed966bc6bfd9c8653441d1da58a320e490ec7fe (diff) |
mem: Fix page allocator allocating 4096 times the amount of memory necessary
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/mem.zig | 3 |
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; } |