diff options
-rw-r--r-- | fs/splice.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/splice.c b/fs/splice.c index 12d247f6ece5..186fad463c43 100644 --- a/fs/splice.c +++ b/fs/splice.c | |||
@@ -176,6 +176,7 @@ static const struct pipe_buf_operations user_page_pipe_buf_ops = { | |||
176 | static ssize_t splice_to_pipe(struct pipe_inode_info *pipe, | 176 | static ssize_t splice_to_pipe(struct pipe_inode_info *pipe, |
177 | struct splice_pipe_desc *spd) | 177 | struct splice_pipe_desc *spd) |
178 | { | 178 | { |
179 | unsigned int spd_pages = spd->nr_pages; | ||
179 | int ret, do_wakeup, page_nr; | 180 | int ret, do_wakeup, page_nr; |
180 | 181 | ||
181 | ret = 0; | 182 | ret = 0; |
@@ -254,7 +255,7 @@ static ssize_t splice_to_pipe(struct pipe_inode_info *pipe, | |||
254 | kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN); | 255 | kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN); |
255 | } | 256 | } |
256 | 257 | ||
257 | while (page_nr < spd->nr_pages) | 258 | while (page_nr < spd_pages) |
258 | page_cache_release(spd->pages[page_nr++]); | 259 | page_cache_release(spd->pages[page_nr++]); |
259 | 260 | ||
260 | return ret; | 261 | return ret; |