Hello, kernel test robot noticed "WARNING:at_kernel/rcu/tree_plugin.h:#__rcu_read_unlock" on: commit: cc92eba1c88b1f74e0f044df2738f4e4b22f1e4e ("mm: fix non-compound multi-order memory accounting in __free_pages") https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master [test failed on linus/master 6d69b6c12fce479fde7bc06f686212451688a102] [test failed on linux-next/master 3689b0ef08b70e4e03b82ebd37730a03a672853a] in testcase: boot compiler: clang-18 test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G (please refer to attached dmesg/kmsg for entire log/backtrace) 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/202405271029.6d2f9c4c-lkp@xxxxxxxxx [ 2.504179][ C0] ------------[ cut here ]------------ [ 2.506222][ C0] WARNING: CPU: 0 PID: 1 at kernel/rcu/tree_plugin.h:431 __rcu_read_unlock (kernel/rcu/tree_plugin.h:431) [ 2.508117][ C0] Modules linked in: [ 2.509538][ C0] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.9.0-rc4-00080-gcc92eba1c88b #1 1899fb0438e1349d8761ad4016a94aaeaa8a37df [ 2.512111][ C0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 2.518194][ C0] RIP: 0010:__rcu_read_unlock (kernel/rcu/tree_plugin.h:431) [ 2.520109][ C0] Code: 00 00 41 83 3e 00 75 26 43 0f b6 04 3c 84 c0 75 5f 8b 03 3d 00 00 00 40 73 10 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc <0f> 0b eb ec e8 8d 00 00 00 eb d3 89 d9 80 e1 07 80 c1 03 38 c1 7c All code ======== 0: 00 00 add %al,(%rax) 2: 41 83 3e 00 cmpl $0x0,(%r14) 6: 75 26 jne 0x2e 8: 43 0f b6 04 3c movzbl (%r12,%r15,1),%eax d: 84 c0 test %al,%al f: 75 5f jne 0x70 11: 8b 03 mov (%rbx),%eax 13: 3d 00 00 00 40 cmp $0x40000000,%eax 18: 73 10 jae 0x2a 1a: 5b pop %rbx 1b: 41 5c pop %r12 1d: 41 5d pop %r13 1f: 41 5e pop %r14 21: 41 5f pop %r15 23: 5d pop %rbp 24: c3 ret 25: cc int3 26: cc int3 27: cc int3 28: cc int3 29: cc int3 2a:* 0f 0b ud2 <-- trapping instruction 2c: eb ec jmp 0x1a 2e: e8 8d 00 00 00 call 0xc0 33: eb d3 jmp 0x8 35: 89 d9 mov %ebx,%ecx 37: 80 e1 07 and $0x7,%cl 3a: 80 c1 03 add $0x3,%cl 3d: 38 c1 cmp %al,%cl 3f: 7c .byte 0x7c Code starting with the faulting instruction =========================================== 0: 0f 0b ud2 2: eb ec jmp 0xfffffffffffffff0 4: e8 8d 00 00 00 call 0x96 9: eb d3 jmp 0xffffffffffffffde b: 89 d9 mov %ebx,%ecx d: 80 e1 07 and $0x7,%cl 10: 80 c1 03 add $0x3,%cl 13: 38 c1 cmp %al,%cl 15: 7c .byte 0x7c [ 2.524112][ C0] RSP: 0000:ffff8883ae809db8 EFLAGS: 00010286 [ 2.526188][ C0] RAX: 00000000ffffffff RBX: ffff888100ac04ac RCX: dffffc0000000000 [ 2.528109][ C0] RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffff888100ac0040 [ 2.530810][ C0] RBP: 00000000ffffffff R08: ffffffff878bc007 R09: 1ffffffff0f17800 [ 2.532116][ C0] R10: dffffc0000000000 R11: fffffbfff0f17801 R12: 1ffff11020158095 [ 2.534888][ C0] R13: dffffc0000000000 R14: ffffea0004037400 R15: dffffc0000000000 [ 2.536108][ C0] FS: 0000000000000000(0000) GS:ffff8883ae800000(0000) knlGS:0000000000000000 [ 2.539082][ C0] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 2.540110][ C0] CR2: ffff88843ffff000 CR3: 00000000056ce000 CR4: 00000000000406f0 [ 2.542812][ C0] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 2.544109][ C0] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 2.546833][ C0] Call Trace: [ 2.548013][ C0] <IRQ> [ 2.548772][ C0] ? __warn (kernel/panic.c:240 kernel/panic.c:694) [ 2.550219][ C0] ? __rcu_read_unlock (kernel/rcu/tree_plugin.h:431) [ 2.551982][ C0] ? __rcu_read_unlock (kernel/rcu/tree_plugin.h:431) [ 2.553266][ C0] ? report_bug (lib/bug.c:?) [ 2.555068][ C0] ? handle_bug (arch/x86/kernel/traps.c:239) [ 2.556133][ C0] ? exc_invalid_op (arch/x86/kernel/traps.c:260) [ 2.557753][ C0] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:621) [ 2.559780][ C0] ? __rcu_read_unlock (kernel/rcu/tree_plugin.h:431) [ 2.561383][ C0] page_ext_put (include/linux/rcupdate.h:339 include/linux/rcupdate.h:814 mm/page_ext.c:537) [ 2.562887][ C0] __free_pages (include/linux/page_ref.h:210 include/linux/mm.h:1135 mm/page_alloc.c:4669) [ 2.564182][ C0] ? __pfx_thread_stack_free_rcu (kernel/fork.c:346) [ 2.566080][ C0] ? rcu_core (kernel/rcu/tree.c:?) [ 2.567681][ C0] rcu_core (include/linux/rcupdate.h:339 kernel/rcu/tree.c:2198 kernel/rcu/tree.c:2471) [ 2.569661][ C0] __do_softirq (arch/x86/include/asm/jump_label.h:27 include/linux/jump_label.h:207 include/trace/events/irq.h:142 kernel/softirq.c:555) [ 2.571612][ C0] ? __irq_exit_rcu (kernel/softirq.c:613 kernel/softirq.c:635) [ 2.573327][ C0] __irq_exit_rcu (kernel/softirq.c:613 kernel/softirq.c:635) [ 2.574888][ C0] irq_exit_rcu (kernel/softirq.c:647) [ 2.576112][ C0] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1043) [ 2.578091][ C0] </IRQ> [ 2.579130][ C0] <TASK> [ 2.580154][ C0] asm_sysvec_apic_timer_interrupt (arch/x86/include/asm/idtentry.h:702) [ 2.582143][ C0] RIP: 0010:clear_page_rep (arch/x86/lib/clear_page_64.S:20) [ 2.583920][ C0] Code: 1f 46 c0 fd e9 26 ff ff ff cc cc cc cc cc cc cc cc cc cc 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 b9 00 02 00 00 31 c0 <f3> 48 ab c3 cc cc cc cc 90 90 90 90 90 90 90 90 90 90 90 90 90 90 All code ======== 0: 1f (bad) 1: 46 c0 fd e9 rex.RX sar $0xe9,%bpl 5: 26 ff es (bad) 7: ff (bad) 8: ff cc dec %esp a: cc int3 b: cc int3 c: cc int3 d: cc int3 e: cc int3 f: cc int3 10: cc int3 11: cc int3 12: cc int3 13: 90 nop 14: 90 nop 15: 90 nop 16: 90 nop 17: 90 nop 18: 90 nop 19: 90 nop 1a: 90 nop 1b: 90 nop 1c: 90 nop 1d: 90 nop 1e: 90 nop 1f: 90 nop 20: 90 nop 21: 90 nop 22: 90 nop 23: b9 00 02 00 00 mov $0x200,%ecx 28: 31 c0 xor %eax,%eax 2a:* f3 48 ab rep stos %rax,%es:(%rdi) <-- trapping instruction 2d: c3 ret 2e: cc int3 2f: cc int3 30: cc int3 31: cc int3 32: 90 nop 33: 90 nop 34: 90 nop 35: 90 nop 36: 90 nop 37: 90 nop 38: 90 nop 39: 90 nop 3a: 90 nop 3b: 90 nop 3c: 90 nop 3d: 90 nop 3e: 90 nop 3f: 90 nop Code starting with the faulting instruction =========================================== 0: f3 48 ab rep stos %rax,%es:(%rdi) 3: c3 ret 4: cc int3 5: cc int3 6: cc int3 7: cc int3 8: 90 nop 9: 90 nop a: 90 nop b: 90 nop c: 90 nop d: 90 nop e: 90 nop f: 90 nop 10: 90 nop 11: 90 nop 12: 90 nop 13: 90 nop 14: 90 nop 15: 90 nop The kernel config and materials to reproduce are available at: https://download.01.org/0day-ci/archive/20240527/202405271029.6d2f9c4c-lkp@xxxxxxxxx -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki