Index: kernel/genarch/src/mm/page_ht.c
===================================================================
--- kernel/genarch/src/mm/page_ht.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
+++ kernel/genarch/src/mm/page_ht.c	(revision 6c501f8ff98956b3a251fb0b81b404ae0ecf44a1)
@@ -58,5 +58,5 @@
 static void ht_mapping_insert(as_t *, uintptr_t, uintptr_t, unsigned int);
 static void ht_mapping_remove(as_t *, uintptr_t);
-static pte_t *ht_mapping_find(as_t *, uintptr_t);
+static pte_t *ht_mapping_find(as_t *, uintptr_t, bool);
 
 /**
@@ -214,5 +214,5 @@
  * this call visible.
  *
- * @param as   Address space to wich page belongs.
+ * @param as   Address space to which page belongs.
  * @param page Virtual address of the page to be demapped.
  *
@@ -237,13 +237,12 @@
 /** Find mapping for virtual page in page hash table.
  *
- * Find mapping for virtual page.
- *
- * @param as   Address space to wich page belongs.
- * @param page Virtual page.
+ * @param as     Address space to which page belongs.
+ * @param page   Virtual page.
+ * @param nolock True if the page tables need not be locked.
  *
  * @return NULL if there is no such mapping; requested mapping otherwise.
  *
  */
-pte_t *ht_mapping_find(as_t *as, uintptr_t page)
+pte_t *ht_mapping_find(as_t *as, uintptr_t page, bool nolock)
 {
 	sysarg_t key[2] = {
@@ -252,5 +251,5 @@
 	};
 
-	ASSERT(page_table_locked(as));
+	ASSERT(nolock || page_table_locked(as));
 	
 	link_t *cur = hash_table_find(&page_ht, key);
