rem: vm_area *next;
add: vm_area *next, *last = NULL;
context: vm_delete_areas(struct vm_address_space *aspace){	vm_area *area;	vm_area *next;	TRACE(("vm_delete_areas: called on aspace 0x%lx\n", aspace->id));	acquire_sem_etc(aspace->virtual_map.sem, WRITE_COUNT, 0, 0);	// delete all the areas in this aspace	for (area = aspace->virtual_map.areas; area; area = next) {		next = area->aspace_next;		if (area->id == RESERVED_AREA_ID) {			// just remove it			free(area);			continue;		}		// decrement the ref on this area, may actually push the ref < 0, if there		// is a concurrent delete_area() on that specific area, but that's ok here		_vm_put_area(area, true);	}	release_sem_etc(aspace->virtual_map.sem, WRITE_COUNT, 0);	return B_OK;}