- return vmm_alloc_page(__current->pid, heap->brk, NULL, PG_PREM_RW, 0) != NULL;
+ int perm = PG_ALLOW_USER;
+ if (heap->brk >= &__kernel_heap_start) {
+ perm = 0;
+ }
+
+ return vmm_set_mapping(
+ PD_REFERENCED, heap->brk, 0, PG_WRITE | perm, VMAP_NULL) != NULL;