ITER_PIPE: lose iter_head argument of __pipe_get_pages()
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 16 Jun 2022 18:26:23 +0000 (14:26 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 9 Aug 2022 02:37:17 +0000 (22:37 -0400)
it's only used to get to the partial buffer we can add to,
and that's always the last one, i.e. pipe->head - 1.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
lib/iov_iter.c

index bf600b4..95c56d4 100644 (file)
@@ -1318,14 +1318,13 @@ EXPORT_SYMBOL(iov_iter_gap_alignment);
 static inline ssize_t __pipe_get_pages(struct iov_iter *i,
                                size_t maxsize,
                                struct page **pages,
-                               int iter_head,
                                size_t off)
 {
        struct pipe_inode_info *pipe = i->pipe;
        ssize_t left = maxsize;
 
        if (off) {
-               struct pipe_buffer *buf = pipe_buf(pipe, iter_head);
+               struct pipe_buffer *buf = pipe_buf(pipe, pipe->head - 1);
 
                get_page(*pages++ = buf->page);
                left -= PAGE_SIZE - off;
@@ -1363,7 +1362,7 @@ static ssize_t pipe_get_pages(struct iov_iter *i,
        npages = pipe_space_for_user(iter_head, i->pipe->tail, i->pipe);
        capacity = min(npages, maxpages) * PAGE_SIZE - *start;
 
-       return __pipe_get_pages(i, min(maxsize, capacity), pages, iter_head, *start);
+       return __pipe_get_pages(i, min(maxsize, capacity), pages, *start);
 }
 
 static ssize_t iter_xarray_populate_pages(struct page **pages, struct xarray *xa,
@@ -1545,7 +1544,7 @@ static ssize_t pipe_get_pages_alloc(struct iov_iter *i,
        p = get_pages_array(npages);
        if (!p)
                return -ENOMEM;
-       n = __pipe_get_pages(i, maxsize, p, iter_head, *start);
+       n = __pipe_get_pages(i, maxsize, p, *start);
        if (n > 0)
                *pages = p;
        else