Index: kernel/generic/src/mm/backend_anon.c
===================================================================
--- kernel/generic/src/mm/backend_anon.c	(revision 235e6c77c5e5c577f9057bd1791cbfa4f6d7344c)
+++ kernel/generic/src/mm/backend_anon.c	(revision eaeb056a0ab6f097e04deb6010499a3da2bc19e4)
@@ -122,9 +122,9 @@
 				page_table_lock(area->as, false);
 				pte = page_mapping_find(area->as,
-				    base + j * PAGE_SIZE, false);
+				    base + P2SZ(j), false);
 				ASSERT(pte && PTE_VALID(pte) &&
 				    PTE_PRESENT(pte));
 				btree_insert(&area->sh_info->pagemap,
-				    (base + j * PAGE_SIZE) - area->base,
+				    (base + P2SZ(j)) - area->base,
 				    (void *) PTE_GET_FRAME(pte), NULL);
 				page_table_unlock(area->as, false);
Index: kernel/generic/src/mm/backend_elf.c
===================================================================
--- kernel/generic/src/mm/backend_elf.c	(revision 235e6c77c5e5c577f9057bd1791cbfa4f6d7344c)
+++ kernel/generic/src/mm/backend_elf.c	(revision eaeb056a0ab6f097e04deb6010499a3da2bc19e4)
@@ -170,5 +170,5 @@
 			if (!(area->flags & AS_AREA_WRITE))
 				if (base >= entry->p_vaddr &&
-				    base + count * PAGE_SIZE <= start_anon)
+				    base + P2SZ(count) <= start_anon)
 					continue;
 			
@@ -182,15 +182,14 @@
 				if (!(area->flags & AS_AREA_WRITE))
 					if (base >= entry->p_vaddr &&
-					    base + (j + 1) * PAGE_SIZE <=
-					    start_anon)
+					    base + P2SZ(j + 1) <= start_anon)
 						continue;
 				
 				page_table_lock(area->as, false);
 				pte = page_mapping_find(area->as,
-				    base + j * PAGE_SIZE, false);
+				    base + P2SZ(j), false);
 				ASSERT(pte && PTE_VALID(pte) &&
 				    PTE_PRESENT(pte));
 				btree_insert(&area->sh_info->pagemap,
-				    (base + j * PAGE_SIZE) - area->base,
+				    (base + P2SZ(j)) - area->base,
 				    (void *) PTE_GET_FRAME(pte), NULL);
 				page_table_unlock(area->as, false);
