Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1330705 - open() and openat() ignore 'mode' with O_TMPFILE on newer kernels
open() and openat() ignore 'mode' with O_TMPFILE on newer kernels
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: glibc (Show other bugs)
7.2
All Linux
medium Severity medium
: rc
: 7.4
Assigned To: Florian Weimer
Sergey Kolosov
: Patch
: 1375984 1386506 1451173 (view as bug list)
Depends On:
Blocks: 1299988 1413146 1330740 1358760 1381083
  Show dependency treegraph
 
Reported: 2016-04-26 14:08 EDT by Jeff Bastian
Modified: 2017-08-01 14:06 EDT (History)
16 users (show)

See Also:
Fixed In Version: glibc-2.17-160.el7
Doc Type: No Doc Update
Doc Text:
undefined
Story Points: ---
Clone Of:
: 1375984 (view as bug list)
Environment:
Last Closed: 2017-08-01 14:06:55 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
reproducer and test program (1.16 KB, text/plain)
2016-04-26 14:08 EDT, Jeff Bastian
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
IBM Linux Technology Center 156724 None None None 2017-07-17 02:45 EDT
Sourceware 17523 None None None 2016-09-20 09:04 EDT
Sourceware 17912 None None None 2016-09-20 09:03 EDT
Red Hat Product Errata RHSA-2017:1916 normal SHIPPED_LIVE Moderate: glibc security, bug fix, and enhancement update 2017-08-01 14:05:43 EDT

  None (edit)
Description Jeff Bastian 2016-04-26 14:08:49 EDT
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
  https://sourceware.org/bugzilla/show_bug.cgi?id=17523

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):
glibc-2.17-105.el7

How reproducible:
always

Steps to Reproduce:
1. on a 64-bit ARM system, compile and run the attached o_tmpfile.c test program

Actual results:
~]# ./a.out
/proc/self/fd/3 -> /root/#201425340 (deleted) file created with O_TMPFILE
/proc/self/fd/3 has mode 00
FAIL: mode is not 0600

Expected results:
~]# ./a.out
/proc/self/fd/3 -> /root/#201867825 (deleted) file created with O_TMPFILE
/proc/self/fd/3 has mode 0600

Additional info:
The problem was originally discovered by LTP's openat03 and open14 tests.  This is another method to reproduce and test the bug.
Comment 5 Florian Weimer 2016-09-14 08:20:30 EDT
*** Bug 1375984 has been marked as a duplicate of this bug. ***
Comment 10 Florian Weimer 2016-09-20 15:08:13 EDT
I posted a test case upstream:

  https://sourceware.org/ml/libc-alpha/2016-09/msg00341.html
Comment 17 Chunyu Hu 2016-10-19 07:41:42 EDT
*** Bug 1386506 has been marked as a duplicate of this bug. ***
Comment 21 Florian Weimer 2017-05-20 03:25:07 EDT
*** Bug 1451173 has been marked as a duplicate of this bug. ***
Comment 22 errata-xmlrpc 2017-08-01 14:06:55 EDT
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.

https://access.redhat.com/errata/RHSA-2017:1916

Note You need to log in before you can comment on or make changes to this bug.