https://github.com/haiku/haiku/blob/master/src/system/kernel/vm/vm.cpp#LL3811C1-L3817C3 ```cpp VMArea* area = locker.AddressSpace()->LookupArea(address); if (area != NULL) { if (!kernel && (area->protection & (B_READ_AREA | B_WRITE_AREA)) == 0) return B_ERROR; return area->id; } ``` Why is this the case?