+void
+region_release(struct mm_region* region)
+{
+ if (region->destruct_region) {
+ region->destruct_region(region);
+ }
+
+ if (region->mfile) {
+ vfs_pclose(region->mfile, region->proc_vms->pid);
+ }
+
+ if (region->index) {
+ *region->index = NULL;
+ }
+
+ vfree(region);
+}
+