summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorAl Viro <viro@ZenIV.linux.org.uk>2015-11-10 19:42:49 -0700
committerJens Axboe <axboe@fb.com>2015-11-11 09:36:57 -0700
commitcadfbb6ec2e55171479191046142c927a8b12d87 (patch)
tree3e1c3b1b4419eef0805da29da93d7448db404d94 /fs
parentccc2600b8a28f3eb0c126cd00312baba1c22cccb (diff)
downloadlinux-cadfbb6ec2e55171479191046142c927a8b12d87.tar.bz2
dax_io(): don't let non-error value escape via retval instead of EFAULT
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Reported-by: Sasha Levin <sasha.levin@oracle.com> Cc: stable@vger.kernel.org # 4.0+ Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/dax.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/dax.c b/fs/dax.c
index a86d3cc2b389..7b653e9aa8d1 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -169,8 +169,10 @@ static ssize_t dax_io(struct inode *inode, struct iov_iter *iter,
else
len = iov_iter_zero(max - pos, iter);
- if (!len)
+ if (!len) {
+ retval = -EFAULT;
break;
+ }
pos += len;
addr += len;