diff --git a/fs/open.c b/fs/open.c index 76c56966e2974be4576b330c77c7ba5ad8ef6649..530da965e3697bba23da5d810ee42bdba587bfec 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);