• Al Viro's avatar
    iov_iter.c: macros for iterating over iov_iter · 04a31165
    Al Viro authored
    iterate_all_kinds(iter, size, ident, step_iovec, step_bvec)
    iterates through the ranges covered by iter (up to size bytes total),
    repeating step_iovec or step_bvec for each of those.  ident is
    declared in expansion of that thing, either as struct iovec or
    struct bvec, and it contains the range we are currently looking
    at.  step_bvec should be a void expression, step_iovec - a size_t
    one, with non-zero meaning "stop here, that many bytes from this
    range left".  In the end, the amount actually handled is stored
    in size.
    
    iov_iter_copy_from_user_atomic() and iov_iter_alignment() converted
    to it.
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    04a31165
iov_iter.c 20.3 KB