make fchdir, fchmod, fchown, and fstat support O_PATH file descriptors
authorRich Felker <dalias@aerifal.cx>
Fri, 2 Aug 2013 17:33:31 +0000 (13:33 -0400)
committerRich Felker <dalias@aerifal.cx>
Fri, 2 Aug 2013 17:33:31 +0000 (13:33 -0400)
commit9ca1f62b0c0d3e50480eb654ac941ff943ce0558
tree3920a0d5db41c52b13b8a70efdb2c039aa4e4f9c
parentc8c0844f7fbcb955848ca84432e5ffcf71f1cef1
make fchdir, fchmod, fchown, and fstat support O_PATH file descriptors

on newer kernels, fchdir and fstat work anyway. this same fix should
be applied to any other syscalls that are similarly affected.

with this change, the current definitions of O_SEARCH and O_EXEC as
O_PATH are mostly conforming to POSIX requirements. the main remaining
issue is that O_NOFOLLOW has different semantics.
src/stat/fchmod.c
src/stat/fstat.c
src/unistd/fchdir.c
src/unistd/fchown.c