hurd: Fix O_DIRECTORY | O_NOFOLLOW
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Thu, 29 Mar 2018 19:47:29 +0000 (20:47 +0100)
committerAurelien Jarno <aurel32@debian.org>
Thu, 29 Mar 2018 19:47:29 +0000 (20:47 +0100)
commitee0e6ec72a30449ae2ecfa6bee6f85b979aab3e5
tree9986062625fa0f9f6217328705b7e6b7d3e57897
parentc6825c584aa07b46e9faa89bd6abd541efbade8a
hurd: Fix O_DIRECTORY | O_NOFOLLOW

Appending / to the path to be looked up would make us always follow a final
symlink, even with O_NOTRANS (since the final resolution is after the
'/').  In the O_DIRECTORY | O_NOFOLLOW case, we thus have to really open
the node and stat it, which we already do anyway, and check for
directory type.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-NOFOLLOW-DIRECTORY.diff
hurd/hurdlookup.c
hurd/lookup-retry.c