diff --git a/mm/filemap.c b/mm/filemap.c index fc7818b4537e4bb7343093ccf87a773e6dcfad18..0b301103ea80e4c82dbc0aab9dc817b2d413b1ff 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -1647,7 +1647,7 @@ struct page *pagecache_get_page(struct address_space *mapping, pgoff_t offset, } /* Has the page been truncated? */ - if (unlikely(page->mapping != mapping)) { + if (unlikely(compound_head(page)->mapping != mapping)) { unlock_page(page); put_page(page); goto repeat;