[PATCH] xa_load() needs a NULL check before locking check

From: void0red
Date: Wed Feb 15 2023 - 08:14:30 EST


Signed-off-by: void0red <void0red@xxxxxxxxx>
---
include/linux/pagemap.h | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index bbccb4044222..f1ddee3571de 100644
--- a/include/linux/pagemap.h
+++ b/include/linux/pagemap.h
@@ -1250,6 +1250,10 @@ static inline struct folio *__readahead_folio(struct readahead_control *ractl)
}

folio = xa_load(&ractl->mapping->i_pages, ractl->_index);
+ if (!folio) {
+ VM_BUG_ON(!folio);
+ return NULL;
+ }
VM_BUG_ON_FOLIO(!folio_test_locked(folio), folio);
ractl->_batch_count = folio_nr_pages(folio);

--
2.34.1