In hot add node(memory) case, vmemmap pages are always allocated from other node, but the current logic just skip vmemmap_verify check. So we should also issue "potential offnode page_structs" warning messages if we are the case.
Cc: Christoph Lameter <c...@linux.com> Cc: Thomas Gleixner <t...@linutronix.de> Cc: Ingo Molnar <mi...@redhat.com> Cc: "H. Peter Anvin" <h...@zytor.com> Cc: Yinghai Lu <ying...@kernel.org> Cc: Andrew Morton <a...@linux-foundation.org> Reported-by: Yasuaki Ishimatsu <isimatu.yasu...@jp.fujitsu.com> Signed-off-by: Lin Feng <linf...@cn.fujitsu.com> --- arch/x86/mm/init_64.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index 474e28f..e2a7277 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c @@ -1318,6 +1318,8 @@ vmemmap_populate(struct page *start_page, unsigned long size, int node) if (!p) return -ENOMEM; + vmemmap_verify((pte_t *)p, node, addr, addr + PAGE_SIZE); + addr_end = addr + PAGE_SIZE; p_end = p + PAGE_SIZE; } else { @@ -1347,8 +1349,8 @@ vmemmap_populate(struct page *start_page, unsigned long size, int node) addr_end = addr + PMD_SIZE; p_end = p + PMD_SIZE; - } else - vmemmap_verify((pte_t *)pmd, node, addr, next); + } + vmemmap_verify((pte_t *)pmd, node, addr, next); } } -- 1.8.0.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/