]> git.baikalelectronics.ru Git - kernel.git/commit
[btrfs] fix check_direct_IO() for non-iovec iterators
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 10 Oct 2016 17:39:05 +0000 (13:39 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 10 Oct 2016 17:58:16 +0000 (13:58 -0400)
commitf4952be9dc6d06a7cd15dd3765ad91b0fdebeca2
treed1a17b68a4098b632c79103a2d2c2184b11cee6f
parent92fc111789526940777a0bc5344084223c366b70
[btrfs] fix check_direct_IO() for non-iovec iterators

looking for duplicate ->iov_base makes sense only for
iovec-backed iterators; for kvec-backed ones it's pointless,
for bvec-backed ones it's pointless and broken on 32bit (we
walk through an array of struct bio_vec accessing them as if
they were struct iovec; works by accident on 64bit, but on
32bit it'll blow up) and for pipe-backed ones it's pointless
and ends up oopsing.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/btrfs/inode.c