rem: if (!cache->cache->temporary) return B_NOT_ALLOWED;
add: if (!cache->cache->temporary) { status = B_NOT_ALLOWED; goto err1; }
context: resize_area(area_id areaID, size_t newSize){	vm_cache_ref *cache;	vm_area *area, *current;	status_t status = B_OK;	size_t oldSize;	// is newSize a multiple of B_PAGE_SIZE?	if (newSize & (B_PAGE_SIZE - 1))		return B_BAD_VALUE;	area = vm_get_area(areaID);	if (area == NULL)		return B_BAD_VALUE;	// Resize all areas of this area's cache	cache = area->cache_ref;	oldSize = area->size;	// ToDo: we should only allow to resize anonymous memory areas!	if (!cache->cache->temporary)		return B_NOT_ALLOWED;	mutex_lock(&cache->lock);	if (oldSize < newSize) {		// We need to check if all areas of this cache can be resized		for (current = cache->areas; current; current = current->cache_next) {			if (current->aspace_next && current->aspace_next->base <= (current->base + newSize)) {				status = B_ERROR;				goto out;			}		}	}	// Okay, looks good so far, so let's do it	for (current = cache->areas; current; current = current->cache_next) {		if (current->aspace_next && current->aspace_next->base <= (current->base + newSize)) {			status = B_ERROR;			break;		}		current->size = newSize;		// we also need to unmap all pages beyond the new size, if the area has shrinked		if (newSize < oldSize) {			vm_translation_map *map = &current->aspace->translation_map;			map->ops->lock(map);			map->ops->unmap(map, current->base + newSize, current->base + oldSize - 1);			map->ops->unlock(map);		}	}	if (status == B_OK)		status = vm_cache_resize(cache, newSize);	if (status < B_OK) {		// This shouldn't really be possible, but hey, who knows		for (current = cache->areas; current; current = current->cache_next)			current->size = oldSize;	}out:	mutex_unlock(&cache->lock);	// ToDo: we must honour the lock restrictions of this area	return status;}