sanitize iov_iter_fault_in_readable()
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 2 May 2021 15:57:37 +0000 (11:57 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 10 Jun 2021 15:45:10 +0000 (11:45 -0400)
commit8409a0d261e20180361e7afe6d89847d1bad4ce8
tree1c489a52514e16da863c535465c2b4206189a4b7
parent185ac4d43669314f31c9c27d1ffc5ebcad791351
sanitize iov_iter_fault_in_readable()

1) constify iov_iter argument; we are not advancing it in this primitive.

2) cap the amount requested by the amount of data in iov_iter.  All
existing callers should've been safe, but the check is really cheap and
doing it here makes for easier analysis, as well as more consistent
semantics among the primitives.

3) don't bother with iterate_iovec().  Explicit loop is not any harder
to follow, and we get rid of standalone iterate_iovec() users - it's
only used by iterate_and_advance() and (soon to be gone) iterate_all_kinds().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
include/linux/uio.h
lib/iov_iter.c