Why would closefrom() need to be atomic? There is no race. After fork(), the new process only
has a *single* thread running.
Any race that required closefrom() to be atomic would also be a problem between the
closefrom() and the execve().
So no, closefrom does not need to be atomic.