diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-07-20 01:11:32 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-07-20 01:11:32 +0200 |
commit | ba57ea64cb1820deb37637de0fdb107f0dc90089 (patch) | |
tree | dd8d302d4f16107e87b555aca3630ada6fcd472a /fs/open.c | |
parent | linked-list: Remove __list_for_each (diff) | |
download | linux-ba57ea64cb1820deb37637de0fdb107f0dc90089.tar.xz linux-ba57ea64cb1820deb37637de0fdb107f0dc90089.zip |
allow O_TMPFILE to work with O_WRONLY
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/open.c')
-rw-r--r-- | fs/open.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/open.c b/fs/open.c index 9156cb050d08..d53e29895082 100644 --- a/fs/open.c +++ b/fs/open.c @@ -844,6 +844,8 @@ static inline int build_open_flags(int flags, umode_t mode, struct open_flags *o if ((flags & O_TMPFILE_MASK) != O_TMPFILE) return -EINVAL; acc_mode = MAY_OPEN | ACC_MODE(flags); + if (!(acc_mode & MAY_WRITE)) + return -EINVAL; } else if (flags & O_PATH) { /* * If we have O_PATH in the open flag. Then we |