iov_iter: saner checks on copyin/copyout
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 30 Jun 2017 02:25:14 +0000 (22:25 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 7 Jul 2017 09:18:09 +0000 (05:18 -0400)
commit09fc68dc66f7597bdc8898c991609a48f061bed5
treeae0af5ee4b37d0133ed57c0c6f5e625430221ff5
parent72e809ed81edf81b93d3a36b7238ba50d67f043d
iov_iter: saner checks on copyin/copyout

* might_fault() is better checked in caller (and e.g. fault-in + kmap_atomic
codepath also needs might_fault() coverage)
* we have already done object size checks
* we have *NOT* done access_ok() recently enough; we rely upon the
iovec array having passed sanity checks back when it had been created
and not nothing having buggered it since.  However, that's very much
non-local, so we'd better recheck that.

So the thing we want does not match anything in uaccess - we need
access_ok + kasan checks + raw copy without any zeroing.  Just define
such helpers and use them here.

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