From 0aa7a96f7ca465277d1b8d9f46d4f2f374b193bb Mon Sep 17 00:00:00 2001 From: Kevin Alavik Date: Thu, 15 May 2025 21:15:32 +0200 Subject: [PATCH] fix/kernel: Fixed issue regarding palloc(), we now fill the page with 0roes --- kernel/src/mm/pmm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/src/mm/pmm.c b/kernel/src/mm/pmm.c index 544048f..fb91c84 100644 --- a/kernel/src/mm/pmm.c +++ b/kernel/src/mm/pmm.c @@ -95,6 +95,7 @@ void *palloc(size_t pages, bool higher_half) void *addr = (void *)(page_cache[--cache_index] * PAGE_SIZE); bitmap_set(bitmap, (uint64_t)addr / PAGE_SIZE); free_pages--; + memset(HIGHER_HALF(addr), 0, pages * PAGE_SIZE); spinlock_release(&pmm_lock); return higher_half ? (void *)((uint64_t)addr + hhdm_offset) : addr; } @@ -122,6 +123,7 @@ void *palloc(size_t pages, bool higher_half) free_pages -= pages; void *addr = (void *)((start_bit + j - pages + 1) * PAGE_SIZE); + memset(HIGHER_HALF(addr), 0, pages * PAGE_SIZE); spinlock_release(&pmm_lock); return higher_half ? (void *)((uint64_t)addr + hhdm_offset) : addr; }