From 6b4e8085c0004382b985a5c005c685073630e746 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Sun, 8 Jul 2018 21:45:07 -0400 Subject: [PATCH] make sure do_dentry_open() won't return positive as an error An ->open() instances really, really should not be doing that. There's a lot of places e.g. around atomic_open() that could be confused by that, so let's catch that early. Acked-by: Linus Torvalds Signed-off-by: Al Viro --- fs/open.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/open.c b/fs/open.c index 76c56966e297..530da965e369 100644 --- a/fs/open.c +++ b/fs/open.c @@ -812,6 +812,8 @@ static int do_dentry_open(struct file *f, return 0; cleanup_all: + if (WARN_ON_ONCE(error > 0)) + error = -EINVAL; fops_put(f->f_op); if (f->f_mode & FMODE_WRITER) { put_write_access(inode); -- 2.45.2