+++ /dev/null
-From 80f18379a7c350c011d30332658aa15fe49a8fa5 Mon Sep 17 00:00:00 2001
-From: Christoph Hellwig <hch@lst.de>
-Date: Thu, 27 Apr 2017 09:42:24 +0200
-Subject: fs: add a VALID_OPEN_FLAGS
-
-From: Christoph Hellwig <hch@lst.de>
-
-commit 80f18379a7c350c011d30332658aa15fe49a8fa5 upstream.
-
-Add a central define for all valid open flags, and use it in the uniqueness
-check.
-
-Signed-off-by: Christoph Hellwig <hch@lst.de>
-Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- fs/fcntl.c | 13 ++++---------
- include/linux/fcntl.h | 6 ++++++
- 2 files changed, 10 insertions(+), 9 deletions(-)
-
---- a/fs/fcntl.c
-+++ b/fs/fcntl.c
-@@ -740,15 +740,10 @@ static int __init fcntl_init(void)
- * Exceptions: O_NONBLOCK is a two bit define on parisc; O_NDELAY
- * is defined as O_NONBLOCK on some platforms and not on others.
- */
-- BUILD_BUG_ON(20 - 1 /* for O_RDONLY being 0 */ != HWEIGHT32(
-- O_RDONLY | O_WRONLY | O_RDWR |
-- O_CREAT | O_EXCL | O_NOCTTY |
-- O_TRUNC | O_APPEND | /* O_NONBLOCK | */
-- __O_SYNC | O_DSYNC | FASYNC |
-- O_DIRECT | O_LARGEFILE | O_DIRECTORY |
-- O_NOFOLLOW | O_NOATIME | O_CLOEXEC |
-- __FMODE_EXEC | O_PATH | __O_TMPFILE
-- ));
-+ BUILD_BUG_ON(21 - 1 /* for O_RDONLY being 0 */ !=
-+ HWEIGHT32(
-+ (VALID_OPEN_FLAGS & ~(O_NONBLOCK | O_NDELAY)) |
-+ __FMODE_EXEC));
-
- fasync_cache = kmem_cache_create("fasync_cache",
- sizeof(struct fasync_struct), 0, SLAB_PANIC, NULL);
---- a/include/linux/fcntl.h
-+++ b/include/linux/fcntl.h
-@@ -3,6 +3,12 @@
-
- #include <uapi/linux/fcntl.h>
-
-+/* list of all valid flags for the open/openat flags argument: */
-+#define VALID_OPEN_FLAGS \
-+ (O_RDONLY | O_WRONLY | O_RDWR | O_CREAT | O_EXCL | O_NOCTTY | O_TRUNC | \
-+ O_APPEND | O_NDELAY | O_NONBLOCK | O_NDELAY | __O_SYNC | O_DSYNC | \
-+ FASYNC | O_DIRECT | O_LARGEFILE | O_DIRECTORY | O_NOFOLLOW | \
-+ O_NOATIME | O_CLOEXEC | O_PATH | __O_TMPFILE)
-
- #ifndef force_o_largefile
- #define force_o_largefile() (BITS_PER_LONG != 32)
+++ /dev/null
-From 629e014bb8349fcf7c1e4df19a842652ece1c945 Mon Sep 17 00:00:00 2001
-From: Christoph Hellwig <hch@lst.de>
-Date: Thu, 27 Apr 2017 09:42:25 +0200
-Subject: fs: completely ignore unknown open flags
-
-From: Christoph Hellwig <hch@lst.de>
-
-commit 629e014bb8349fcf7c1e4df19a842652ece1c945 upstream.
-
-Currently we just stash anything we got into file->f_flags, and the
-report it in fcntl(F_GETFD). This patch just clears out all unknown
-flags so that we don't pass them to the fs or report them.
-
-Signed-off-by: Christoph Hellwig <hch@lst.de>
-Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- fs/open.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
---- a/fs/open.c
-+++ b/fs/open.c
-@@ -868,6 +868,12 @@ static inline int build_open_flags(int f
- int lookup_flags = 0;
- int acc_mode;
-
-+ /*
-+ * Clear out all open flags we don't know about so that we don't report
-+ * them in fcntl(F_GETFD) or similar interfaces.
-+ */
-+ flags &= VALID_OPEN_FLAGS;
-+
- if (flags & (O_CREAT | __O_TMPFILE))
- op->mode = (mode & S_IALLUGO) | S_IFREG;
- else