UBUNTU: SAUCE: mm: BUG if filemap_alloc_folio gives us a folio with a non-NULL ->private

BugLink: https://bugs.launchpad.net/bugs/2032959

We've seen some instances where we call __filemap_get_folio and get back
one with a ->private value that is non-NULL. Let's have the allocator
bug if that happens.

For now, let's just put this into the testing kernel. We can let Willy
decide if he wants it in mainline.

URL: https://tracker.ceph.com/issues/55421
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Xiubo Li <xiubli@redhat.com>
Cc: Luís Henriques <lhenriques@suse.de>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
(cherry picked from https://github.com/ceph/ceph-client.git)
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
This commit is contained in:
Jeff Layton
2022-05-13 10:23:25 -04:00
committed by Paolo Pisati
parent ba9abcc0b8
commit e4493d37e7
+5 -3
View File
@@ -969,10 +969,12 @@ struct folio *filemap_alloc_folio(gfp_t gfp, unsigned int order)
n = cpuset_mem_spread_node();
folio = __folio_alloc_node(gfp, order, n);
} while (!folio && read_mems_allowed_retry(cpuset_mems_cookie));
return folio;
} else {
folio = folio_alloc(gfp, order);
}
return folio_alloc(gfp, order);
if (folio)
VM_BUG_ON_FOLIO(folio->private, folio);
return folio;
}
EXPORT_SYMBOL(filemap_alloc_folio);
#endif