summaryrefslogtreecommitdiffstats
path: root/fs/dax.c
diff options
context:
space:
mode:
authorAl Viro <viro@ZenIV.linux.org.uk>2015-11-11 03:42:49 +0100
committerJens Axboe <axboe@fb.com>2015-11-11 17:36:57 +0100
commitcadfbb6ec2e55171479191046142c927a8b12d87 (patch)
tree3e1c3b1b4419eef0805da29da93d7448db404d94 /fs/dax.c
parentblock: fix blk-core.c kernel-doc warning (diff)
downloadlinux-cadfbb6ec2e55171479191046142c927a8b12d87.tar.xz
linux-cadfbb6ec2e55171479191046142c927a8b12d87.zip
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/dax.c')
-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;