From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com ([217.140.110.172]:33026 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388817AbfJPI7v (ORCPT ); Wed, 16 Oct 2019 04:59:51 -0400 Subject: Re: [PATCH V6 0/2] mm/debug: Add tests validating architecture page table helpers References: <1571131302-32290-1-git-send-email-anshuman.khandual@arm.com> <1571150502.5937.39.camel@lca.pw> <1571164920.5937.45.camel@lca.pw> From: Anshuman Khandual Message-ID: Date: Wed, 16 Oct 2019 14:29:59 +0530 MIME-Version: 1.0 In-Reply-To: <1571164920.5937.45.camel@lca.pw> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-s390-owner@vger.kernel.org List-ID: To: Qian Cai , linux-mm@kvack.org Cc: Andrew Morton , Vlastimil Babka , Greg Kroah-Hartman , Thomas Gleixner , Mike Rapoport , Jason Gunthorpe , Dan Williams , Peter Zijlstra , Michal Hocko , Mark Rutland , Mark Brown , Steven Price , Ard Biesheuvel , Masahiro Yamada , Kees Cook , Tetsuo Handa , Matthew Wilcox , Sri Krishna chowdary , Dave Hansen , Russell King - ARM Linux , Michael Ellerman , Paul Mackerras , Martin Schwidefsky , Heiko Carstens , "David S. Miller" , Vineet Gupta , James Hogan , Paul Burton , Ralf Baechle , "Kirill A . Shutemov" , Gerald Schaefer , Christophe Leroy , Mike Kravetz , linux-snps-arc@lists.infradead.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org On 10/16/2019 12:12 AM, Qian Cai wrote: > On Tue, 2019-10-15 at 20:51 +0530, Anshuman Khandual wrote: >> >> On 10/15/2019 08:11 PM, Qian Cai wrote: >>> The x86 will crash with linux-next during boot due to this series (v5) with the >>> config below plus CONFIG_DEBUG_VM_PGTABLE=y. I am not sure if v6 would address >>> it. >>> >>> https://raw.githubusercontent.com/cailca/linux-mm/master/x86.config >>> >>> [   33.862600][    T1] page:ffffea0009000000 is uninitialized and poisoned >>> [   33.862608][    T1] raw: ffffffffffffffff ffffffffffffffff ffffffffffffffff >>> ffffff871140][    T1]  ? _raw_spin_unlock_irq+0x27/0x40 >>> [   33.871140][    T1]  ? rest_init+0x307/0x307 >>> [   33.871140][    T1]  kernel_init+0x11/0x139 >>> [   33.871140][    T1]  ? rest_init+0x307/0x307 >>> [   33.871140][    T1]  ret_from_fork+0x27/0x50 >>> [   33.871140][    T1] Modules linked in: >>> [   33.871140][    T1] ---[ end trace e99d392b0f7befbd ]--- >>> [   33.871140][    T1] RIP: 0010:alloc_gigantic_page_order+0x3fe/0x490 >> >> Hmm, with defconfig (DEBUG_VM=y and DEBUG_VM_PGTABLE=y) it does not crash but >> with the config above, it does. Just wondering if it is possible that these >> pages might not been initialized yet because DEFERRED_STRUCT_PAGE_INIT=y ? > > Yes, this patch works fine. > > diff --git a/init/main.c b/init/main.c > index 676d8020dd29..591be8f9e8e0 100644 > --- a/init/main.c > +++ b/init/main.c > @@ -1177,7 +1177,6 @@ static noinline void __init kernel_init_freeable(void) >         workqueue_init(); >   >         init_mm_internals(); > -       debug_vm_pgtable(); >   >         do_pre_smp_initcalls(); >         lockup_detector_init(); > @@ -1186,6 +1185,8 @@ static noinline void __init kernel_init_freeable(void) >         sched_init_smp(); >   >         page_alloc_init_late(); > +       debug_vm_pgtable(); > + >         /* Initialize page ext after all struct pages are initialized. */ >         page_ext_init(); > Sure, will keep this in mind if we at all end up with memory allocation approach for this test. >> >> [ 13.898549][ T1] page:ffffea0005000000 is uninitialized and poisoned >> [ 13.898549][ T1] raw: ffffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffff >> [ 13.898549][ T1] raw: ffffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffff >> [ 13.898549][ T1] page dumped because: VM_BUG_ON_PAGE(PagePoisoned(p)) >> [ 13.898549][ T1] ------------[ cut here ]------------ >> [ 13.898549][ T1] kernel BUG at ./include/linux/mm.h:1107! >> [ 13.898549][ T1] invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN PTI >> [ 13.898549][ T1] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.4.0-rc3-next-20191015+ # >