All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@kernel.org>
To: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Hua Su <suhua.tanke@gmail.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Next Mailing List <linux-next@vger.kernel.org>
Subject: Re: linux-next: boot failure after merge of the memblock tree
Date: Fri, 25 Oct 2024 09:53:14 +0300	[thread overview]
Message-ID: <ZxtAWopjlF9unBno@kernel.org> (raw)
In-Reply-To: <20241022173921.6fdbdd38@canb.auug.org.au>

Hi Stephen,

On Tue, Oct 22, 2024 at 05:39:21PM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the memblock tree, today's linux-next build
> (powerpc_pseries_le_defconfig) failed my qemu boot test like this:
> 
> mem auto-init: stack:all(zero), heap alloc:off, heap free:off
> BUG: Unable to handle kernel data access on read at 0x00001878
> Faulting instruction address: 0xc0000000004f00e4
> Oops: Kernel access of bad area, sig: 7 [#1]
> LE PAGE_SIZE=4K MMU=Radix SMP NR_CPUS=2048 NUMA pSeries
> Modules linked in:
> CPU: 0 UID: 0 PID: 0 Comm: swapper Not tainted 6.12.0-rc4-06078-g367eaba2691a #1
> Hardware name: IBM pSeries (emulated by qemu) POWER10 (architected) 0x801200 0xf000006 of:SLOF,HEAD pSeries
> NIP:  c0000000004f00e4 LR: c000000000489df8 CTR: 0000000000000000
> REGS: c0000000028cfae0 TRAP: 0300   Not tainted  (6.12.0-rc4-06078-g367eaba2691a)
> MSR:  8000000002001033 <SF,VEC,ME,IR,DR,RI,LE>  CR: 84000240  XER: 00000000
> CFAR: c0000000004f2c48 DAR: 0000000000001878 DSISR: 00080000 IRQMASK: 3 
> GPR00: c00000000204994c c0000000028cfd80 c0000000016a4300 c00c000000040000 
> GPR04: 0000000000000001 0000000000001000 0000000000000007 c000000002a11178 
> GPR08: 0000000000000000 0000000000001800 c00000007fffe720 0000000000002001 
> GPR12: 0000000000000000 c000000002a6a000 0000000000000000 00000000018855c0 
> GPR16: c000000002940270 c00c000000000000 0000000000040000 0000000000000000 
> GPR20: 0000000000000000 ffffffffffffffff 0000000000000001 ffffffffffffffff 
> GPR24: 00c0000000000000 0000000000000000 0000000000000000 0000000008000000 
> GPR28: 0000000000000000 0000000000002a6b 0000000000000000 0000000000001000 
> NIP [c0000000004f00e4] set_pfnblock_flags_mask+0x74/0x140
> LR [c000000000489df8] reserve_bootmem_region+0x2a8/0x2c0
> Call Trace:
> c0000000028cfd80] [c0000000028cfdd0] 0xc0000000028cfdd0 (unreliable)
> c0000000028cfe20] [c00000000204994c] memblock_free_all+0x144/0x2d0
> c0000000028cfea0] [c000000002016354] mem_init+0x5c/0x70
> c0000000028cfec0] [c00000000204547c] mm_core_init+0x158/0x1dc
> c0000000028cff30] [c000000002004350] start_kernel+0x608/0x944
> c0000000028cffe0] [c00000000000e99c] start_here_common+0x1c/0x20
> Code: 4182000c 79082d28 7d4a4214 e9230000 3d020137 38e8ce78 79284620 792957a0 79081f24 79295d24 7d07402a 7d284a14 <e9090078> 7c254040 41800094 e9290088 
> ---[ end trace 0000000000000000 ]---
> 
> Kernel panic - not syncing: Attempted to kill the idle task!
> 
> Caused by commit
> 
>   ad48825232a9 ("memblock: uniformly initialize all reserved pages to MIGRATE_MOVABLE")
> 
> I bisected the failure to this commit and have reverted it for today.

Apparently set_pfnblock_flags_mask() is unhappy when called for
uninitialized struct page. With the patch below

qemu-system-ppc64el -M pseries -cpu power10 -smp 16 -m 32G -vga none -nographic -kernel $KERNEL

boots up to mounting root filesystem.
 
diff --git a/mm/mm_init.c b/mm/mm_init.c
index 49dbd30e71ad..2395970314e7 100644
--- a/mm/mm_init.c
+++ b/mm/mm_init.c
@@ -723,10 +723,10 @@ static void __meminit init_reserved_page(unsigned long pfn, int nid)
 			break;
 	}
 
+	__init_single_page(pfn_to_page(pfn), pfn, zid, nid);
+
 	if (pageblock_aligned(pfn))
 		set_pageblock_migratetype(pfn_to_page(pfn), MIGRATE_MOVABLE);
-
-	__init_single_page(pfn_to_page(pfn), pfn, zid, nid);
 }
 #else
 static inline void pgdat_set_deferred_range(pg_data_t *pgdat) {}

> -- 
> Cheers,
> Stephen Rothwell



-- 
Sincerely yours,
Mike.

  parent reply	other threads:[~2024-10-25  6:57 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-22  6:39 linux-next: boot failure after merge of the memblock tree Stephen Rothwell
2024-10-23  3:20 ` Su Hua
2024-10-23 22:23   ` Stephen Rothwell
2024-10-24  3:18     ` Su Hua
2024-10-25  6:53 ` Mike Rapoport [this message]
2024-10-25  8:19   ` Su Hua
2024-10-25  8:33     ` Su Hua
2024-10-25  8:42       ` Mike Rapoport
2024-10-25 23:36         ` Su Hua
2024-10-28 20:20           ` Stephen Rothwell
2024-10-29  7:15             ` Mike Rapoport

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZxtAWopjlF9unBno@kernel.org \
    --to=rppt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=sfr@canb.auug.org.au \
    --cc=suhua.tanke@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.