Index: kernel/generic/src/mm/as.c
===================================================================
--- kernel/generic/src/mm/as.c	(revision 8b65570552691ad6fa2a012cf20ea6571577cd46)
+++ kernel/generic/src/mm/as.c	(revision f36787d7a56ee5f7792d1d222df32e0aefcd46cf)
@@ -443,4 +443,12 @@
 	else
 		memsetb(&area->backend_data, sizeof(area->backend_data), 0);
+	
+	if (area->backend && area->backend->create) {
+		if (!area->backend->create(area)) {
+			free(area);
+			mutex_unlock(&as->lock);
+			return NULL;
+		}
+	}
 	
 	btree_create(&area->used_space);
@@ -686,4 +694,12 @@
 	}
 	
+	if (area->backend && area->backend->resize) {
+		if (!area->backend->resize(area, pages)) {
+			mutex_unlock(&area->lock);
+			mutex_unlock(&as->lock);
+			return ENOMEM;
+		}
+	}
+	
 	area->pages = pages;
 	
@@ -752,4 +768,7 @@
 		return ENOENT;
 	}
+
+	if (area->backend && area->backend->destroy)
+		area->backend->destroy(area);
 	
 	uintptr_t base = area->base;
