diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2020-11-29 16:00:47 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:48 -0400 |
commit | 89931472c20bee93c6bcb0df7b057edda6473381 (patch) | |
tree | 4313b83081e4e78ff45165e687349f41861131b6 /fs | |
parent | 33b3b1dc0f685b4542a631a0ca053380613829a6 (diff) |
bcachefs: Fix for __readahead_batch getting partial batch
We were incorrectly ignoring the return value of __readahead_batch,
leading to a null ptr deref in __bch2_page_state_create().
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/bcachefs/fs-io.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/bcachefs/fs-io.c b/fs/bcachefs/fs-io.c index 1afdd775ffb3..9c3b11f414b5 100644 --- a/fs/bcachefs/fs-io.c +++ b/fs/bcachefs/fs-io.c @@ -667,7 +667,7 @@ static int readpages_iter_init(struct readpages_iter *iter, if (!iter->pages) return -ENOMEM; - __readahead_batch(ractl, iter->pages, nr_pages); + nr_pages = __readahead_batch(ractl, iter->pages, nr_pages); for (i = 0; i < nr_pages; i++) { __bch2_page_state_create(iter->pages[i], __GFP_NOFAIL); put_page(iter->pages[i]); |