76d801f7cd
Inside of `openat2`, we are assuming that if we are passed `AT_SYMLINK_NOFOLLOW` that we are also passed a symlink. This is simply not the case, as POSIX defines the flag to only have a noticable effect if the resolved path is a symlink. Therefore, we cannot assume that we have a symlink if we see `AT_SYMLINK_NOFOLLOW`. The previous behavior caused an `EINVAL` in redoxfs because we do a consistency check to error out if we are passed `O_SYMLINK` (which was added because `AT_SYMLINK_NOFOLLOW` was observed) and aren't a symlink. Hmm, maybe a special errno like `ENOTLNK` should be deployed for this? It's specific enough that it could possibly be added to a future POSIX.