summaryrefslogtreecommitdiffstats
path: root/fs/namei.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2016-04-27 21:47:45 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2016-05-03 01:51:14 +0200
commitb3d58eaffb98e1b5bbf2d6756c59398213caba57 (patch)
tree7a2cd473023e7731db7794fc03e427c97e0439cd /fs/namei.c
parentatomic_open(): delay open_to_namei_flags() until the method call (diff)
downloadlinux-b3d58eaffb98e1b5bbf2d6756c59398213caba57.tar.xz
linux-b3d58eaffb98e1b5bbf2d6756c59398213caba57.zip
atomic_open(): be paranoid about may_open() return value
It should never return positives; however, with Linux S&M crowd involved, no bogosity is impossible. Results would be unpleasant... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/namei.c')
-rw-r--r--fs/namei.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/namei.c b/fs/namei.c
index 3951cc4f34c5..8d562a7a7e01 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -2920,6 +2920,8 @@ static int atomic_open(struct nameidata *nd, struct dentry *dentry,
acc_mode = 0;
}
error = may_open(&file->f_path, acc_mode, open_flag);
+ if (WARN_ON(error > 0))
+ error = -EINVAL;
out:
dput(dentry);
return error;