Created attachment 1151054 [details]
reproducer and test program
Description of problem:
The RHEL Server for ARM kernel is based on upstream kernel-4.5.0, and this kernel adds a new O_TMPFILE flag to the open() and openat() syscalls. glibc needs an update to support setting the file permissions when using O_TMPFILE without O_CREAT. See upstream bug
Attached are two patches that (1) define O_TMPFILE and (2) update the open() and openat() syscall wrappers to support the mode.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. on a 64-bit ARM system, compile and run the attached o_tmpfile.c test program
/proc/self/fd/3 -> /root/#201425340 (deleted) file created with O_TMPFILE
/proc/self/fd/3 has mode 00
FAIL: mode is not 0600
/proc/self/fd/3 -> /root/#201867825 (deleted) file created with O_TMPFILE
/proc/self/fd/3 has mode 0600
The problem was originally discovered by LTP's openat03 and open14 tests. This is another method to reproduce and test the bug.
*** Bug 1375984 has been marked as a duplicate of this bug. ***
I posted a test case upstream:
*** Bug 1386506 has been marked as a duplicate of this bug. ***
*** Bug 1451173 has been marked as a duplicate of this bug. ***
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.