Hello, kernel test robot noticed "kernel_BUG_at_include/linux/mm.h" on: commit: c404f7bfe175730b83e0f5fe5822a02509800b9c ("memblock: uniformly initialize all reserved pages to MIGRATE_MOVABLE") https://git.kernel.org/cgit/linux/kernel/git/rppt/memblock.git for-next in testcase: boot config: x86_64-randconfig-015-20241025 compiler: clang-19 test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G (please refer to attached dmesg/kmsg for entire log/backtrace) +------------------------------------------+------------+------------+ | | 4bb21dbb67 | c404f7bfe1 | +------------------------------------------+------------+------------+ | boot_successes | 18 | 0 | | boot_failures | 0 | 18 | | kernel_BUG_at_include/linux/mm.h | 0 | 18 | | Oops:invalid_opcode:#[##]PREEMPT_SMP | 0 | 18 | | RIP:set_pfnblock_flags_mask | 0 | 18 | | Kernel_panic-not_syncing:Fatal_exception | 0 | 18 | +------------------------------------------+------------+------------+ If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <oliver.sang@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-lkp/202410281628.9a7b7fed-lkp@xxxxxxxxx [ 0.201373][ T0] ------------[ cut here ]------------ [ 0.201738][ T0] kernel BUG at include/linux/mm.h:1637! [ 0.202128][ T0] Oops: invalid opcode: 0000 [#1] PREEMPT SMP [ 0.202538][ T0] CPU: 0 UID: 0 PID: 0 Comm: swapper Tainted: G T 6.12.0-rc3-00002-gc404f7bfe175 #1 4771f81984738db694a7cfb2266994a5aa541fc1 [ 0.203527][ T0] Tainted: [T]=RANDSTRUCT [ 0.203812][ T0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 0.204509][ T0] RIP: 0010:set_pfnblock_flags_mask (include/linux/mm.h:1637) [ 0.204923][ T0] Code: 21 c1 48 09 f1 f0 49 0f b1 4c d1 18 74 ed eb ec 48 c7 c6 c6 15 11 83 e8 7e b0 fb ff 0f 0b 48 c7 c6 b2 74 09 83 e8 70 b0 fb ff <0f> 0b 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 66 66 66 All code ======== 0: 21 c1 and %eax,%ecx 2: 48 09 f1 or %rsi,%rcx 5: f0 49 0f b1 4c d1 18 lock cmpxchg %rcx,0x18(%r9,%rdx,8) c: 74 ed je 0xfffffffffffffffb e: eb ec jmp 0xfffffffffffffffc 10: 48 c7 c6 c6 15 11 83 mov $0xffffffff831115c6,%rsi 17: e8 7e b0 fb ff call 0xfffffffffffbb09a 1c: 0f 0b ud2 1e: 48 c7 c6 b2 74 09 83 mov $0xffffffff830974b2,%rsi 25: e8 70 b0 fb ff call 0xfffffffffffbb09a 2a:* 0f 0b ud2 <-- trapping instruction 2c: 66 66 66 66 66 66 2e data16 data16 data16 data16 data16 cs nopw 0x0(%rax,%rax,1) 33: 0f 1f 84 00 00 00 00 3a: 00 3b: 66 data16 3c: 66 data16 3d: 66 data16 3e: 66 data16 3f: 66 data16 Code starting with the faulting instruction =========================================== 0: 0f 0b ud2 2: 66 66 66 66 66 66 2e data16 data16 data16 data16 data16 cs nopw 0x0(%rax,%rax,1) 9: 0f 1f 84 00 00 00 00 10: 00 11: 66 data16 12: 66 data16 13: 66 data16 14: 66 data16 15: 66 data16 [ 0.206241][ T0] RSP: 0000:ffffffff83203e38 EFLAGS: 00010046 [ 0.206645][ T0] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff83212800 [ 0.207184][ T0] RDX: 0000000000000000 RSI: 00000000ffff7fff RDI: 0000000000000001 [ 0.207717][ T0] RBP: c000000000000000 R08: 0000000000000000 R09: 0000000000000001 [ 0.208253][ T0] R10: 0000000000000000 R11: 0000000000000000 R12: 000000000042d400 [ 0.208784][ T0] R13: 4000000000000000 R14: 000000000042fc30 R15: ffffea0010b50000 [ 0.209316][ T0] FS: 0000000000000000(0000) GS:ffff88842fc00000(0000) knlGS:0000000000000000 [ 0.209912][ T0] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 0.210350][ T0] CR2: ffff88843ffff000 CR3: 000000000321a000 CR4: 00000000000000b0 [ 0.210883][ T0] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 0.211421][ T0] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 0.211953][ T0] Call Trace: [ 0.212166][ T0] <TASK> [ 0.212358][ T0] ? __die_body (arch/x86/kernel/dumpstack.c:421) [ 0.212647][ T0] ? die (arch/x86/kernel/dumpstack.c:?) [ 0.212899][ T0] ? do_trap (arch/x86/kernel/traps.c:171) [ 0.213174][ T0] ? set_pfnblock_flags_mask (include/linux/mm.h:1637) [ 0.213543][ T0] ? do_error_trap (arch/x86/kernel/traps.c:217) [ 0.213853][ T0] ? set_pfnblock_flags_mask (include/linux/mm.h:1637) [ 0.214223][ T0] ? exc_invalid_op (arch/x86/kernel/traps.c:312) [ 0.214532][ T0] ? handle_invalid_op (arch/x86/kernel/traps.c:254) [ 0.214859][ T0] ? set_pfnblock_flags_mask (include/linux/mm.h:1637) [ 0.215233][ T0] ? exc_invalid_op (arch/x86/kernel/traps.c:316) [ 0.215542][ T0] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:621) [ 0.215877][ T0] ? set_pfnblock_flags_mask (include/linux/mm.h:1637) [ 0.216248][ T0] ? set_pfnblock_flags_mask (include/linux/mm.h:1637) [ 0.216617][ T0] reserve_bootmem_region (include/linux/mm.h:174 mm/mm_init.c:568 mm/mm_init.c:729 mm/mm_init.c:765) [ 0.216977][ T0] memmap_init_reserved_pages (mm/memblock.c:2183) [ 0.217353][ T0] free_low_memory_core_early (mm/memblock.c:?) [ 0.217729][ T0] ? _raw_spin_unlock (arch/x86/include/asm/preempt.h:103 include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:186) [ 0.218053][ T0] memblock_free_all (mm/memblock.c:2252 include/linux/atomic/atomic-arch-fallback.h:2672 include/linux/atomic/atomic-long.h:121 include/linux/atomic/atomic-instrumented.h:3261 include/linux/mm.h:76 mm/memblock.c:2253) [ 0.218363][ T0] mem_init (arch/x86/mm/init_64.c:1349) [ 0.218620][ T0] mm_core_init (mm/mm_init.c:2658) [ 0.218906][ T0] start_kernel (init/main.c:965) [ 0.219211][ T0] x86_64_start_reservations (??:?) [ 0.219574][ T0] x86_64_start_kernel (??:?) [ 0.219902][ T0] common_startup_64 (arch/x86/kernel/head_64.S:414) [ 0.220230][ T0] </TASK> [ 0.220425][ T0] Modules linked in: [ 0.220681][ T0] ---[ end trace 0000000000000000 ]--- [ 0.221042][ T0] RIP: 0010:set_pfnblock_flags_mask (include/linux/mm.h:1637) [ 0.221453][ T0] Code: 21 c1 48 09 f1 f0 49 0f b1 4c d1 18 74 ed eb ec 48 c7 c6 c6 15 11 83 e8 7e b0 fb ff 0f 0b 48 c7 c6 b2 74 09 83 e8 70 b0 fb ff <0f> 0b 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 66 66 66 All code ======== 0: 21 c1 and %eax,%ecx 2: 48 09 f1 or %rsi,%rcx 5: f0 49 0f b1 4c d1 18 lock cmpxchg %rcx,0x18(%r9,%rdx,8) c: 74 ed je 0xfffffffffffffffb e: eb ec jmp 0xfffffffffffffffc 10: 48 c7 c6 c6 15 11 83 mov $0xffffffff831115c6,%rsi 17: e8 7e b0 fb ff call 0xfffffffffffbb09a 1c: 0f 0b ud2 1e: 48 c7 c6 b2 74 09 83 mov $0xffffffff830974b2,%rsi 25: e8 70 b0 fb ff call 0xfffffffffffbb09a 2a:* 0f 0b ud2 <-- trapping instruction 2c: 66 66 66 66 66 66 2e data16 data16 data16 data16 data16 cs nopw 0x0(%rax,%rax,1) 33: 0f 1f 84 00 00 00 00 3a: 00 3b: 66 data16 3c: 66 data16 3d: 66 data16 3e: 66 data16 3f: 66 data16 Code starting with the faulting instruction =========================================== 0: 0f 0b ud2 2: 66 66 66 66 66 66 2e data16 data16 data16 data16 data16 cs nopw 0x0(%rax,%rax,1) 9: 0f 1f 84 00 00 00 00 10: 00 11: 66 data16 12: 66 data16 13: 66 data16 14: 66 data16 15: 66 data16 The kernel config and materials to reproduce are available at: https://download.01.org/0day-ci/archive/20241028/202410281628.9a7b7fed-lkp@xxxxxxxxx -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki