On glibc 2.26, there is a change
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Fri Nov 11 15:00:03 2016 -0200
Consolidate Linux open implementation
This patch consolidates the open Linux syscall implementation on
sysdeps/unix/sysv/linux/open{64}.c. The changes are:
1. Remove open{64} from auto-generation syscalls.list.
2. Add a new open{64}.c implementation. For architectures that
define __OFF_T_MATCHES_OFF64_T the default open64 will create
alias to required open symbols.
3. Use __NR_openat as default syscall for open{64}.
it changes the __libc_open64 to call
return SYSCALL_CANCEL (openat, AT_FDCWD, file, oflag | EXTRA_OPEN_FLAGS, mode)
instead of
return SYSCALL_CANCEL (open, file, oflag | O_LARGEFILE, mode)
It would case SIGSYS if we allow open while openat is not allowed.
We should allow openat if open is allowed.
Comment 1 by bugdroid1@chromium.org
, Oct 12