On Wed, 16 Aug 2023 at 22:35, David Howells wrote: > > I'm not sure that buys us anything. It would then require every call to > iov_iter_is_bvec()[*] to check for two values instead of one Well, that part is trivially fixable, and we should do that anyway for other reasons. See the attached patch. > The issue is that ITER_xyz changes the iteration function - but we don't > actually want to do that; rather, we need to change the step function. Yeah, that may be the fundamental issue. But making the ITER_xyz flags be bit masks would help - partly exactly because it makes it so trivial yo say "for this set of ITER_xyz, do this". This patch only does that for the 'user_backed' thing, which was a similar case. Hmm? Linus