diff --git a/mm/filemap.c b/mm/filemap.c index 657bcd887fdb..8faa75f6923c 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -3754,11 +3754,15 @@ static struct folio *do_read_cache_folio(struct address_space *mapping, if (!folio) return ERR_PTR(-ENOMEM); err = filemap_add_folio(mapping, folio, index, gfp); + printk("err: %d, folio: %p, in: %p, %s\n", err, folio, mapping->host, __func__); if (unlikely(err)) { folio_put(folio); if (err == -EEXIST) goto repeat; /* Presumably ENOMEM for xarray node */ + void *kaddr = kmap_local_folio(folio, 0); + memset(kaddr, 0, folio_size(folio)); + kunmap_local(kaddr); return ERR_PTR(err); }