summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2020-11-29 16:00:47 -0500
committerKent Overstreet <kent.overstreet@gmail.com>2020-12-07 11:50:41 -0500
commitc6e9f399206372ed7b04314aba8ec88bbe3fb40e (patch)
treeeaf5fbcf988e36c430c0210df128266f0d755d2d
parent39c841f59dcaff71ea94e049e1a59a2c89e8555c (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>
-rw-r--r--fs/bcachefs/fs-io.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/bcachefs/fs-io.c b/fs/bcachefs/fs-io.c
index 389f23ee6f91..7d193ce4780e 100644
--- a/fs/bcachefs/fs-io.c
+++ b/fs/bcachefs/fs-io.c
@@ -684,7 +684,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]);