This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
RFC: reject unknown open flags
- From: Christoph Hellwig <hch at lst dot de>
- To: Linus Torvalds <torvalds at linux-foundation dot org>, Alexander Viro <viro at zeniv dot linux dot org dot uk>
- Cc: linux-api at vger dot kernel dot org, linux-fsdevel at vger dot kernel dot org, linux-kernel at vger dot kernel dot org, libc-alpha at sourceware dot org
- Date: Thu, 30 Mar 2017 18:33:25 +0200
- Subject: RFC: reject unknown open flags
- Authentication-results: sourceware.org; auth=none
Linux has traditionally accepted random garbage in the flags argument to
the open syscall (including the later added openat). This really harms
when adding new flags, because applications can't just probe for the
flag to actually work. While rejecting unknown flags is an ABI change
strictly speaking I can't see what would actually get broken by it
in practice, so by the Linux rules it might not be an issue.
Below is the trivial series to reject unknown flags. If this is not
acceptable there migh be some other ways, although they seem ugly:
(a) add a new openat2 system call that enforces this behavior, and
hope all majors libcs switch to using that by default to implement
open(3).
(b) add a new personality flag to enforce this behavior (or maybe
opt in by default and allow admins to opt out of it)