aboutsummaryrefslogtreecommitdiff
path: root/src/regions.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-08-26 23:00:55 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2024-08-26 23:00:55 +0300
commit3f194f1c7264945a63b0018b159cc83bd9385c59 (patch)
tree4d277264e75b197844eae154e96e73d9cd54de3a /src/regions.c
parent1b5a553194f47066d60bb1c9475af1f413af8f4a (diff)
downloadkmi-3f194f1c7264945a63b0018b159cc83bd9385c59.tar.gz
kmi-3f194f1c7264945a63b0018b159cc83bd9385c59.zip
fix memory leaks destroying threads
Diffstat (limited to 'src/regions.c')
-rw-r--r--src/regions.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/regions.c b/src/regions.c
index fcfa0cc..64bfb88 100644
--- a/src/regions.c
+++ b/src/regions.c
@@ -466,8 +466,9 @@ vm_t alloc_region(struct mem_region_root *r, size_t size, size_t *actual_size,
return alloc_shared_region(r, size, actual_size, flags, 0);
}
-vm_t alloc_fixed_region(struct mem_region_root *r, vm_t start, size_t size,
- size_t *actual_size, vmflags_t flags)
+vm_t alloc_shared_fixed_region(struct mem_region_root *r, vm_t start,
+ size_t size, size_t *actual_size,
+ vmflags_t flags, id_t pid)
{
size_t asize = align_up(size, BASE_PAGE_SIZE);
if (actual_size)
@@ -499,7 +500,13 @@ vm_t alloc_fixed_region(struct mem_region_root *r, vm_t start, size_t size,
return 0;
/* actually start marking region used */
- return __partition_region(r, m, pages, start - m->start, flags, 0);
+ return __partition_region(r, m, pages, start - m->start, flags, pid);
+}
+
+vm_t alloc_fixed_region(struct mem_region_root *r, vm_t start, size_t size,
+ size_t *actual_size, vmflags_t flags)
+{
+ return alloc_shared_fixed_region(r, start, size, actual_size, flags, 0);
}
/**