--- y/mm/filemap.c +++ x/mm/filemap.c @@ -1963,7 +1963,7 @@ repeat: } /* Has the page been truncated? */ - if (unlikely(folio->mapping != mapping)) { + if (unlikely(folio->mapping != mapping || !folio_contains(folio, index))) { folio_unlock(folio); folio_put(folio); goto repeat;