diff options
Diffstat (limited to 'mm/swap_state.c')
-rw-r--r-- | mm/swap_state.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/swap_state.c b/mm/swap_state.c index c79e2242dd04..f24f2cea4238 100644 --- a/mm/swap_state.c +++ b/mm/swap_state.c @@ -431,8 +431,10 @@ struct page *find_get_incore_page(struct address_space *mapping, pgoff_t index) struct swap_info_struct *si; struct page *page = find_get_entry(mapping, index); - if (!xa_is_value(page)) + if (!page) return page; + if (!xa_is_value(page)) + return find_subpage(page, index); if (!shmem_mapping(mapping)) return NULL; |