Re: [PATCH v2] mm: teach dump_page() to correctly output poisoned struct pages

From: Andrew Morton
Date: Mon Jul 02 2018 - 15:51:55 EST


On Mon, 2 Jul 2018 14:05:36 -0400 Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> wrote:

> If struct page is poisoned, and uninitialized access is detected via
> PF_POISONED_CHECK(page) dump_page() is called to output the page. But,
> the dump_page() itself accesses struct page to determine how to print
> it, and therefore gets into a recursive loop.
>
> For example:
> dump_page()
> __dump_page()
> PageSlab(page)
> PF_POISONED_CHECK(page)
> VM_BUG_ON_PGFLAGS(PagePoisoned(page), page)
> dump_page() recursion loop.
>
> Fixes: f165b378bbdf ("mm: uninitialized struct page poisoning sanity checking")
>
> Signed-off-by: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx>
> Acked-by: Michal Hocko <mhocko@xxxxxxxx>

Thanks. I added a cc:stable to make sure this gets into 4.17.x.