rem: return ERR_VM_INVALID_REGION;
add: return B_BAD_VALUE;
context: vm_clone_area(aspace_id aid, const char *name, void **address, uint32 addressSpec,	uint32 protection, uint32 mapping, area_id sourceID){	vm_area *newArea = NULL;	vm_area *sourceArea;	status_t status;	vm_address_space *aspace = vm_get_aspace_by_id(aid);	if (aspace == NULL)		return ERR_VM_INVALID_ASPACE;	sourceArea = vm_get_area(sourceID);	if (sourceArea == NULL) {		vm_put_aspace(aspace);		return ERR_VM_INVALID_REGION;	}	if (sourceArea->aspace == kernel_aspace && aspace != kernel_aspace		&& !(sourceArea->protection & B_USER_CLONEABLE_AREA)) {		// kernel areas must not be cloned in userland, unless explicitly		// declared user-cloneable upon construction		status = B_NOT_ALLOWED;	} else {		vm_cache_acquire_ref(sourceArea->cache_ref, true);		status = map_backing_store(aspace, sourceArea->cache_ref->cache->store, address,					sourceArea->cache_offset, sourceArea->size, addressSpec, sourceArea->wiring,					protection, mapping, &newArea, name);		vm_cache_release_ref(sourceArea->cache_ref);	}	vm_put_area(sourceArea);	vm_put_aspace(aspace);	if (status < B_OK)		return status;	return newArea->id;}