diff options
Diffstat (limited to 'fs/open.c')
| -rw-r--r-- | fs/open.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/open.c b/fs/open.c index bc132e167d2..e1f2cdb91a4 100644 --- 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;  |