about summary refs log tree commit diff
path: root/src/unistd/readlinkat.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2020-09-09 21:55:11 -0400
committerRich Felker <dalias@aerifal.cx>2020-09-09 21:55:11 -0400
commit55fb9a177316aa46c639d93dd0323d9a9a8c160c (patch)
treee48ec6bc0079a981fe17ba9314b28378055a01c4 /src/unistd/readlinkat.c
parentf035c7b1e65b6566c979ed69bada82a466580ba2 (diff)
downloadmusl-55fb9a177316aa46c639d93dd0323d9a9a8c160c.tar.gz
musl-55fb9a177316aa46c639d93dd0323d9a9a8c160c.tar.xz
musl-55fb9a177316aa46c639d93dd0323d9a9a8c160c.zip
use new SYS_faccessat2 syscall to implement faccessat with flags
commit 0a05eace163cee9b08571d2ff9d90f5e82d9c228 implemented AT_EACCESS
for faccessat with a horrible hack, creating a child process to change
switch uid/gid and perform the access probe without making potentially
irreversible changes to the caller's credentials. this was due to the
syscall lacking a flags argument.

linux 5.8 introduced a new syscall, SYS_faccessat2, fixing this
deficiency. use it if any flags are passed, and fallback to the old
strategy on ENOSYS. continue using the old syscall when there are no
flags.
Diffstat (limited to 'src/unistd/readlinkat.c')
0 files changed, 0 insertions, 0 deletions