diff options
Diffstat (limited to 'fs/open.c')
-rw-r--r-- | fs/open.c | 6 |
1 files changed, 2 insertions, 4 deletions
@@ -992,14 +992,12 @@ struct file *filp_open(const char *filename, int flags, umode_t mode) | |||
992 | EXPORT_SYMBOL(filp_open); | 992 | EXPORT_SYMBOL(filp_open); |
993 | 993 | ||
994 | struct file *file_open_root(struct dentry *dentry, struct vfsmount *mnt, | 994 | struct file *file_open_root(struct dentry *dentry, struct vfsmount *mnt, |
995 | const char *filename, int flags) | 995 | const char *filename, int flags, umode_t mode) |
996 | { | 996 | { |
997 | struct open_flags op; | 997 | struct open_flags op; |
998 | int err = build_open_flags(flags, 0, &op); | 998 | int err = build_open_flags(flags, mode, &op); |
999 | if (err) | 999 | if (err) |
1000 | return ERR_PTR(err); | 1000 | return ERR_PTR(err); |
1001 | if (flags & O_CREAT) | ||
1002 | return ERR_PTR(-EINVAL); | ||
1003 | return do_file_open_root(dentry, mnt, filename, &op); | 1001 | return do_file_open_root(dentry, mnt, filename, &op); |
1004 | } | 1002 | } |
1005 | EXPORT_SYMBOL(file_open_root); | 1003 | EXPORT_SYMBOL(file_open_root); |