The vm_map_stack function returns KERN_SUCCESS if the mapping was allocated successfully.
Otherwise, if mapping the stack would exceed the processs VMEM resource limit, or if the specified bottom-of-stack address is out of range for the map, or if there is already a mapping at the address which would result, or if max_ssize could not be accomodated within the current mapping, KERN_NO_SPACE is returned.
Other possible return values for this function are documented in vm_map_insert(9).
The vm_map_growstack function returns KERN_SUCCESS if addr is already mapped, or if the stack was grown successfully.
It also returns KERN_SUCCESS if addr is outside the stack range; this is done in order to preserve compatibility with the deprecated grow function previously located in the file vm_machdep.c.