summaryrefslogtreecommitdiff
path: root/src/kernel/mem/alloc.c
diff options
context:
space:
mode:
authordzwdz2022-07-20 17:26:25 +0200
committerdzwdz2022-07-20 17:26:25 +0200
commitbc49ea97bb61bbe55af3e847a88a649d04a93777 (patch)
tree858fb9ed3427477405b0461241d6dcafd70a5892 /src/kernel/mem/alloc.c
parentbdb25024a3fe0c8630fd68d9ba618df595effa36 (diff)
user/elf: free memory not belonging to the elf when jumping to it
Diffstat (limited to 'src/kernel/mem/alloc.c')
-rw-r--r--src/kernel/mem/alloc.c2
1 files changed, 2 insertions, 0 deletions
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));