summaryrefslogtreecommitdiff
path: root/libhurd-mm/mmap.c
diff options
context:
space:
mode:
authorneal <neal>2007-12-12 17:51:05 +0000
committerneal <neal>2007-12-12 17:51:05 +0000
commitc6db87c3de0012174f1ec96eb4922ab2678b701d (patch)
tree2c042ab84da45237f33eef68ca29b47d45249a06 /libhurd-mm/mmap.c
parent8eb5ea7006b2d9f37ce753bb10e0a1efcd5e76d3 (diff)
2007-12-12 Neal H. Walfield <neal@gnu.org>
* mmap.c (munmap): Free the virtual addresses.
Diffstat (limited to 'libhurd-mm/mmap.c')
-rw-r--r--libhurd-mm/mmap.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libhurd-mm/mmap.c b/libhurd-mm/mmap.c
index 9a0c180..3cf7fae 100644
--- a/libhurd-mm/mmap.c
+++ b/libhurd-mm/mmap.c
@@ -113,6 +113,7 @@ munmap (void *addr, size_t length)
ss_mutex_lock (&pager->lock);
+ struct pager_region region = pager->region;
l4_uint64_t pager_start = addr_prefix (pager->region.start);
l4_uint64_t pager_end = pager_start
+ (pager->region.count
@@ -131,6 +132,8 @@ munmap (void *addr, size_t length)
ss_mutex_unlock (&pagers_lock);
pager->destroy (pager);
+
+ as_free (region.start, region.count);
}
return 0;