summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vm/vm_kmem.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/vm/vm_kmem.c b/vm/vm_kmem.c
index 4b3fb61d..3a0f9a93 100644
--- a/vm/vm_kmem.c
+++ b/vm/vm_kmem.c
@@ -132,6 +132,7 @@ vm_kmem_free(void *addr, size_t size)
struct vm_page *page;
unsigned long va, end;
phys_addr_t pa;
+ int error;
va = (unsigned long)addr;
size = vm_page_round(size);
@@ -139,8 +140,8 @@ vm_kmem_free(void *addr, size_t size)
cpumap = cpumap_all();
while (va < end) {
- pa = pmap_extract(kernel_pmap, va);
- assert(pa != 0);
+ error = pmap_kextract(va, &pa);
+ assert(!error);
pmap_remove(kernel_pmap, va, cpumap);
page = vm_page_lookup(pa);
assert(page != NULL);