--- linux-gentoo/mm/filemap.c 2022-12-14 00:00:00.000 +0200 +++ linux-gentoo-old/mm/filemap.c 2022-12-06 00:00:00.000 +0200 @@ -1850,22 +1850,24 @@ static void *mapping_get_entry(struct address_space *mapping, pgoff_t index) { XA_STATE(xas, &mapping->i_pages, index); struct folio *folio; rcu_read_lock(); repeat: xas_reset(&xas); folio = xas_load(&xas); if (xas_retry(&xas, folio)) goto repeat; + if (WARN_ON(xa_is_internal(folio))) + goto repeat; /* * A shadow entry of a recently evicted page, or a swap entry from * shmem/tmpfs. Return it without attempting to raise page count. */ if (!folio || xa_is_value(folio)) goto out; if (!folio_try_get_rcu(folio)) goto repeat; if (unlikely(folio != xas_reload(&xas))) {