On Thu, 21 Nov 2019 11:52:53 +0100, Raimo Niskanen wrote: > On OpenBSD 6.6 amd64 patch 006, i get peculiar results from readlink(1) > with arguments -f with a symlink to / > > $ readlink -f / > / > > $ ln -s / test; readlink -f test; rm test > readlink: test: Is a directory
That appears to be a bug in the __realpath() system call. I guess namei() is returning EISDIR because wantparent is set. It seems likely that the check in sys___realpath() for whether or not LOCKPARENT is used needs to be fixed, though I have only read the code and not spent time in the kernel debugger. Perhaps beck@ has an idea? - todd
