[xarray] iov_iter_fault_in_readable() should do nothing in xarray case
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 2 Jun 2021 18:48:21 +0000 (14:48 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 3 Jun 2021 14:36:51 +0000 (10:36 -0400)
... and actually should just check it's given an iovec-backed iterator
in the first place.

Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
lib/iov_iter.c

index c8877cffb7bc0f42b4213d92aef665e506fd16a2..a3aabeda945b7580b5d62634c1d0637bf7915d06 100644 (file)
@@ -476,7 +476,7 @@ int iov_iter_fault_in_readable(struct iov_iter *i, size_t bytes)
        int err;
        struct iovec v;
 
-       if (!(i->type & (ITER_BVEC|ITER_KVEC))) {
+       if (iter_is_iovec(i)) {
                iterate_iovec(i, bytes, v, iov, skip, ({
                        err = fault_in_pages_readable(v.iov_base, v.iov_len);
                        if (unlikely(err))