diff --git a/src/system/kernel/vm/vm.cpp b/src/system/kernel/vm/vm.cpp index d5a3cee0dd..f56eefda37 100644 --- a/src/system/kernel/vm/vm.cpp +++ b/src/system/kernel/vm/vm.cpp @@ -3463,8 +3463,8 @@ vm_area_for(addr_t address, bool kernel) VMArea* area = locker.AddressSpace()->LookupArea(address); if (area != NULL) { - if (!kernel && (area->protection & (B_READ_AREA | B_WRITE_AREA)) == 0 - && (area->protection & B_KERNEL_AREA) != 0) + if (!kernel && team == VMAddressSpace::KernelID() + && (area->protection & (B_READ_AREA | B_WRITE_AREA | B_CLONEABLE_AREA)) == 0) return B_ERROR; return area->id;