> - size = iov_iter_get_pages(iter, pages, LONG_MAX, nr_pages, &offset); > + size = iov_iter_pin_user_pages(iter, pages, LONG_MAX, nr_pages, &offset); This is really a comment to the previous patch, but I only spotted it here: I think the right name is iov_iter_pin_pages, as bvec, kvec and pipe aren't usually user pages. Same as iov_iter_get_pages vs get_user_pages. Same for the _alloc variant. > + * here on. It will run one unpin_user_page() against each page > + * and will run one bio_put() against the BIO. Nit: the ant and the will still fit on the previous line.