Re: [PATCH v5] mm: don't allow deferred pages with NEED_PER_CPU_KM

From: Andrew Morton
Date: Tue May 15 2018 - 17:12:49 EST


On Tue, 15 May 2018 13:51:24 -0400 Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> wrote:

> It is unsafe to do virtual to physical translations before mm_init() is
> called if struct page is needed in order to determine the memory section
> number (see SECTION_IN_PAGE_FLAGS). This is because only in mm_init() we
> initialize struct pages for all the allocated memory when deferred struct
> pages are used.
>
> My recent fix exposed this problem,

"my recent fix" isn't very useful. I changed this to identify
c9e97a1997 ("mm: initialize pages on demand during boot"), yes?

>
> Fixes: 3a80a7fa7989 ("mm: meminit: initialise a subset of struct pages if CONFIG_DEFERRED_STRUCT_PAGE_INIT is set")
> Signed-off-by: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx>

And I added cc:stable.