Hello, kernel test robot noticed "WARNING:at_include/linux/hugetlb.h:#folio_walk_start" on: commit: e20ad9c86e42503c57d99ea1a9d868c39198ae65 ("mm/migrate: convert add_page_for_migration() from follow_page() to folio_walk") https://github.com/davidhildenbrand/linux folio_walk in testcase: trinity version: trinity-static-i386-x86_64-f93256fb_2019-08-28 with following parameters: runtime: 300s group: group-01 nr_groups: 5 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) +------------------------------------------------------+------------+------------+ | | 6420096195 | e20ad9c86e | +------------------------------------------------------+------------+------------+ | WARNING:at_include/linux/hugetlb.h:#folio_walk_start | 0 | 17 | | RIP:folio_walk_start | 0 | 17 | | WARNING:bad_unlock_balance_detected | 0 | 17 | | is_trying_to_release_lock(&vma_lock->rw_sema)at | 0 | 17 | | WARNING:at_kernel/locking/rwsem.c:#__up_read | 0 | 17 | | RIP:__up_read | 0 | 17 | +------------------------------------------------------+------------+------------+ 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/202407081556.80770439-oliver.sang@xxxxxxxxx [ 312.782456][ T4644] ------------[ cut here ]------------ [ 312.782941][ T4644] WARNING: CPU: 0 PID: 4644 at include/linux/hugetlb.h:1276 folio_walk_start (include/linux/hugetlb.h:1274) [ 312.782957][ T4644] Modules linked in: [ 312.782961][ T4644] CPU: 0 UID: 65534 PID: 4644 Comm: trinity-c6 Not tainted 6.10.0-rc6-next-20240703-00003-ge20ad9c86e42 #1 [ 312.782965][ T4644] RIP: 0010:folio_walk_start (include/linux/hugetlb.h:1274) [ 312.782968][ T4644] Code: ff 48 89 ee 31 d2 4c 89 f1 e8 55 07 00 00 48 89 c3 e9 d6 02 00 00 0f 0b e9 86 f6 ff ff 4c 89 ff e8 3e 0a 00 00 e9 c2 02 00 00 <0f> 0b e9 66 fb ff ff 48 c7 c1 54 79 d1 85 80 e1 07 80 c1 03 38 c1 All code ======== 0: ff 48 89 decl -0x77(%rax) 3: ee out %al,(%dx) 4: 31 d2 xor %edx,%edx 6: 4c 89 f1 mov %r14,%rcx 9: e8 55 07 00 00 call 0x763 e: 48 89 c3 mov %rax,%rbx 11: e9 d6 02 00 00 jmp 0x2ec 16: 0f 0b ud2 18: e9 86 f6 ff ff jmp 0xfffffffffffff6a3 1d: 4c 89 ff mov %r15,%rdi 20: e8 3e 0a 00 00 call 0xa63 25: e9 c2 02 00 00 jmp 0x2ec 2a:* 0f 0b ud2 <-- trapping instruction 2c: e9 66 fb ff ff jmp 0xfffffffffffffb97 31: 48 c7 c1 54 79 d1 85 mov $0xffffffff85d17954,%rcx 38: 80 e1 07 and $0x7,%cl 3b: 80 c1 03 add $0x3,%cl 3e: 38 c1 cmp %al,%cl Code starting with the faulting instruction =========================================== 0: 0f 0b ud2 2: e9 66 fb ff ff jmp 0xfffffffffffffb6d 7: 48 c7 c1 54 79 d1 85 mov $0xffffffff85d17954,%rcx e: 80 e1 07 and $0x7,%cl 11: 80 c1 03 add $0x3,%cl 14: 38 c1 cmp %al,%cl [ 312.782971][ T4644] RSP: 0018:ffffc90001de7c88 EFLAGS: 00010246 [ 312.782973][ T4644] RAX: 0000000000000000 RBX: ffff888109293ac0 RCX: 0000000000000000 [ 312.782975][ T4644] RDX: ffffc90001de7df0 RSI: ffff888110e561d0 RDI: ffff888137ac5d98 [ 312.782977][ T4644] RBP: dffffc0000000000 R08: ffffffff85d167af R09: 1ffffffff0ba2cf5 [ 312.782978][ T4644] R10: dffffc0000000000 R11: fffffbfff0ba2cf6 R12: ffffffffffe00000 [ 312.782980][ T4644] R13: ffff8881337c3470 R14: ffff8881337c3460 R15: ffff8881337c34e0 [ 312.782981][ T4644] FS: 0000000000000000(0000) GS:ffff8883af000000(0063) knlGS:0000000009c1c880 [ 312.782983][ T4644] CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033 [ 312.782985][ T4644] CR2: 000000006d278c7e CR3: 0000000136d38000 CR4: 00000000000406f0 [ 312.782988][ T4644] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 312.782990][ T4644] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 312.782991][ T4644] Call Trace: [ 312.782993][ T4644] <TASK> [ 312.782995][ T4644] ? __warn (kernel/panic.c:240 kernel/panic.c:742) [ 312.782998][ T4644] ? folio_walk_start (include/linux/hugetlb.h:1274) [ 312.783001][ T4644] ? folio_walk_start (include/linux/hugetlb.h:1274) [ 312.783005][ T4644] ? report_bug (lib/bug.c:?) [ 312.783011][ T4644] ? handle_bug (arch/x86/kernel/traps.c:239) [ 312.783015][ T4644] ? exc_invalid_op (arch/x86/kernel/traps.c:260) [ 312.783017][ T4644] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:621) [ 312.783025][ T4644] ? folio_walk_start (include/linux/hugetlb.h:1274) [ 312.783029][ T4644] ? folio_walk_start (include/linux/hugetlb.h:1274) [ 312.783035][ T4644] __se_sys_move_pages (mm/migrate.c:?) [ 312.783043][ T4644] ? lock_acquire (kernel/locking/lockdep.c:5816) [ 312.783054][ T4644] ? __task_pid_nr_ns (include/linux/rcupdate.h:333 include/linux/rcupdate.h:845 kernel/pid.c:510) [ 312.783061][ T4644] __do_fast_syscall_32 (arch/x86/entry/common.c:?) [ 312.783068][ T4644] do_fast_syscall_32 (arch/x86/entry/common.c:411) [ 312.783071][ T4644] entry_SYSENTER_compat_after_hwframe (arch/x86/entry/entry_64_compat.S:121) [ 312.783074][ T4644] RIP: 0023:0xf7f50539 [ 312.783076][ T4644] Code: 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 All code ======== 0: 03 74 b4 01 add 0x1(%rsp,%rsi,4),%esi 4: 10 07 adc %al,(%rdi) 6: 03 74 b0 01 add 0x1(%rax,%rsi,4),%esi a: 10 08 adc %cl,(%rax) c: 03 74 d8 01 add 0x1(%rax,%rbx,8),%esi ... 20: 00 51 52 add %dl,0x52(%rcx) 23: 55 push %rbp 24:* 89 e5 mov %esp,%ebp <-- trapping instruction 26: 0f 34 sysenter 28: cd 80 int $0x80 2a: 5d pop %rbp 2b: 5a pop %rdx 2c: 59 pop %rcx 2d: c3 ret 2e: 90 nop 2f: 90 nop 30: 90 nop 31: 90 nop 32: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1) 39: 00 00 00 3c: 0f .byte 0xf 3d: 1f (bad) 3e: 44 rex.R ... Code starting with the faulting instruction =========================================== 0: 5d pop %rbp 1: 5a pop %rdx 2: 59 pop %rcx 3: c3 ret 4: 90 nop 5: 90 nop 6: 90 nop 7: 90 nop 8: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1) f: 00 00 00 12: 0f .byte 0xf 13: 1f (bad) 14: 44 rex.R ... [ 312.783078][ T4644] RSP: 002b:00000000ffb6430c EFLAGS: 00000206 ORIG_RAX: 000000000000013d [ 312.783081][ T4644] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 0000000000000142 [ 312.783083][ T4644] RDX: 0000000009eb9dd8 RSI: 0000000009eb42d0 RDI: 0000000009eb47e0 [ 312.783085][ T4644] RBP: 0000000000000002 R08: 0000000000000000 R09: 0000000000000000 [ 312.783087][ T4644] R10: 0000000000000000 R11: 0000000000000206 R12: 0000000000000000 [ 312.783089][ T4644] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [ 312.783100][ T4644] </TASK> [ 312.783101][ T4644] irq event stamp: 394339 [ 312.783103][ T4644] hardirqs last enabled at (394341): vprintk_store (kernel/printk/printk.c:2323 arch/x86/include/asm/irqflags.h:155 kernel/printk/printk.c:2323) [ 312.783108][ T4644] hardirqs last disabled at (394342): vprintk_store (kernel/printk/printk.c:?) [ 312.783111][ T4644] softirqs last enabled at (394246): __irq_exit_rcu (kernel/softirq.c:617) [ 312.783115][ T4644] softirqs last disabled at (393977): __irq_exit_rcu (kernel/softirq.c:617) [ 312.783119][ T4644] ---[ end trace 0000000000000000 ]--- [ 312.821303][ T4644] [ 312.821307][ T4644] ===================================== The kernel config and materials to reproduce are available at: https://download.01.org/0day-ci/archive/20240708/202407081556.80770439-oliver.sang@xxxxxxxxx -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki