missing bits of "splice: fix racy pipe->buffers uses"
[linux-block.git] / kernel / relay.c
index 98833f664fb6853f5bbb3194fb4c465833869624..7d38607649a3298f4a84efcd12208e43acd4b5fc 100644 (file)
@@ -1251,7 +1251,7 @@ static ssize_t subbuf_splice_actor(struct file *in,
        subbuf_pages = rbuf->chan->alloc_size >> PAGE_SHIFT;
        pidx = (read_start / PAGE_SIZE) % subbuf_pages;
        poff = read_start & ~PAGE_MASK;
-       nr_pages = min_t(unsigned int, subbuf_pages, pipe->buffers);
+       nr_pages = min_t(unsigned int, subbuf_pages, spd.nr_pages_max);
 
        for (total_len = 0; spd.nr_pages < nr_pages; spd.nr_pages++) {
                unsigned int this_len, this_end, private;