Patch "fs: add a VALID_OPEN_FLAGS" has been added to the 3.18-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
fs: add a VALID_OPEN_FLAGS
to the 3.18-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
fs-add-a-valid_open_flags.patch
and it can be found in the queue-3.18 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
80f18379a7c350c011d30332658aa15fe49a8fa5Mon Sep 17 00:00:00 2001
From: Christoph Hellwig <[email protected]>
Date: Thu, 27 Apr 2017 09:42:24 +0200
Subject: fs: add a VALID_OPEN_FLAGS
From: Christoph Hellwig <[email protected]>
commit 80f18379a7c350c011d30332658aa15fe49a8fa5 upstream.
Add a central define for all valid open flags, and use it in the uniqueness check.
--- fs/fcntl.c | 13 ++++--------- include/linux/fcntl.h | 6 ++++++ 2 files changed, 10 insertions(+), 9 deletions(-)
fs/fcntl.c +4 -9
@@ -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 );
include/linux/fcntl.h +6 -0
@@ -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)
Patches currently in stable-queue which might be from [email protected] are
queue-3.18/fs-add-a-valid_open_flags.patch queue-3.18/fs-completely-ignore-unknown-open-flags.patch