Index: kernel/generic/src/mm/as.c
===================================================================
--- kernel/generic/src/mm/as.c	(revision 8a2474fad8c6f15ac127f4f7f43d7fbb10e8e39f)
+++ kernel/generic/src/mm/as.c	(revision e394b736ec3bd141c4662cdf5acf1d76aeb1b731)
@@ -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;
