Messages in this thread | | | Subject | Re: [PATCH 01/32] iov_iter: Add ITER_MAPPING | From | David Howells <> | Date | Sun, 19 Jul 2020 10:51:51 +0100 |
| |
Al Viro <viro@zeniv.linux.org.uk> wrote:
> My main problem here is that your iterate_mapping() assumes that STEP is > safe under rcu_read_lock(), with no visible mentioning of that fact.
Yeah, that's probably the biggest objection to this.
> Note, BTW, that iov_iter_for_each_range() quietly calls user-supplied > callback in such context.
And calls kmap(), but should probably use kmap_atomic(). git grep doesn't show any users of this, so can it be removed?
> Incidentally, do you ever have different steps for bvec and mapping?
Yes:
csum_and_copy_from_iter_full() iov_iter_npages() iov_iter_get_pages() iov_iter_get_pages_alloc()
But I've tried to use the internal representation struct for bvec where I can rather than inventing a new one.
David
| |