From bc49ea97bb61bbe55af3e847a88a649d04a93777 Mon Sep 17 00:00:00 2001 From: dzwdz Date: Wed, 20 Jul 2022 17:26:25 +0200 Subject: user/elf: free memory not belonging to the elf when jumping to it --- src/kernel/mem/alloc.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/kernel/mem/alloc.c') diff --git a/src/kernel/mem/alloc.c b/src/kernel/mem/alloc.c index e0cc5f4..8d6fa5b 100644 --- a/src/kernel/mem/alloc.c +++ b/src/kernel/mem/alloc.c @@ -101,6 +101,8 @@ void *page_zalloc(size_t pages) { // frees `pages` consecutive pages starting from *first void page_free(void *first_addr, size_t pages) { + if (first_addr < page_bitmap_start) // TODO unimplemented + return; size_t first = (uintptr_t)(first_addr - page_bitmap_start) / PAGE_SIZE; for (size_t i = 0; i < pages; i++) { assert(bitmap_get(first + i)); -- cgit v1.2.3