diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-08-26 23:00:55 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-08-26 23:00:55 +0300 |
| commit | 3f194f1c7264945a63b0018b159cc83bd9385c59 (patch) | |
| tree | 4d277264e75b197844eae154e96e73d9cd54de3a /src/regions.c | |
| parent | 1b5a553194f47066d60bb1c9475af1f413af8f4a (diff) | |
| download | kmi-3f194f1c7264945a63b0018b159cc83bd9385c59.tar.gz kmi-3f194f1c7264945a63b0018b159cc83bd9385c59.zip | |
fix memory leaks destroying threads
Diffstat (limited to 'src/regions.c')
| -rw-r--r-- | src/regions.c | 13 |
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); } /** |
