projects
/
linux-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
vfs: canonicalize create mode in build_open_flags()
[linux-block.git]
/
fs
/
open.c
diff --git
a/fs/open.c
b/fs/open.c
index bc132e167d2dd2e361fd8fb0354f987f2fa296dd..e1f2cdb91a4dc494473986f1b0c8b91f23614a43 100644
(file)
--- a/
fs/open.c
+++ b/
fs/open.c
@@
-852,9
+852,10
@@
static inline int build_open_flags(int flags, umode_t mode, struct open_flags *o
int lookup_flags = 0;
int acc_mode;
- if (!(flags & O_CREAT))
- mode = 0;
- op->mode = mode;
+ if (flags & O_CREAT)
+ op->mode = (mode & S_IALLUGO) | S_IFREG;
+ else
+ op->mode = 0;
/* Must never be set by userspace */
flags &= ~FMODE_NONOTIFY;