Index: kernel/generic/src/mm/as.c
===================================================================
--- kernel/generic/src/mm/as.c	(revision dd74b5bc75b8545cb0c656b5e1f16ef29d14609d)
+++ kernel/generic/src/mm/as.c	(revision bfb11794075cbc477be69efdc4d991d5da43960c)
@@ -1390,17 +1390,7 @@
 	mutex_unlock(&area->sh_info->lock);
 
-	/*
-	 * Compute total number of used pages
-	 */
-	size_t used_pages = 0;
-
-	used_space_ival_t *ival = used_space_first(&area->used_space);
-	while (ival != NULL) {
-		used_pages += ival->count;
-		ival = used_space_next(ival);
-	}
-
 	/* An array for storing frame numbers */
-	uintptr_t *old_frame = malloc(used_pages * sizeof(uintptr_t));
+	uintptr_t *old_frame = malloc(area->used_space.pages *
+	    sizeof(uintptr_t));
 	if (!old_frame) {
 		mutex_unlock(&area->lock);
@@ -1423,5 +1413,5 @@
 	size_t frame_idx = 0;
 
-	ival = used_space_first(&area->used_space);
+	used_space_ival_t *ival = used_space_first(&area->used_space);
 	while (ival != NULL) {
 		uintptr_t ptr = ival->page;
