> +ssize_t __kernel_write_iter(struct file *file, struct iov_iter *from, > + loff_t *pos); > +ssize_t do_iter_writev(struct file *file, struct iov_iter *iter, loff_t *ppos, > + rwf_t flags); So I first stumbled on the name because I kinda hate do_* functions, especially if they are not static, and then went down a little rathole: - first obviously the name, based on the other functions it probably should be in the __kernel_* namespace unless I'm missing something. - second can you add a little comment when it is to be used? Our maze of read and write helpers is becomeing a little too confusing even for someone who thought he knew the code (and wrote some if it). - can we just split do_iter_readv_writev instead of adding a wrapper Yes, that'll duplicate a little boiler plate code, but it'll make things much easier to follow. (- same probably for do_loop_readv_writev, although not directly relevant to this series)