The only case in which the userland implementation would return a
different error than the system call is if we are racing against
someone modifying the hierarchy we are traversing, but that is not a
scenario that we are expected to handle gracefully. Therefore,
unless the caller passed in a buffer (which the system call does not
populate), do not call the userland implementation unless the system
call is unavailable.
Sponsored by: Klara, Inc.