------------[ cut here ]------------ kernel BUG at [] mm/page_table_check.c:142! Kernel BUG [#1] Modules linked in: CPU: 0 UID: 0 PID: 8548 Comm: syz.5.980 Tainted: G L syzkaller #0 PREEMPT Tainted: [L]=SOFTLOCKUP Hardware name: riscv-virtio,qemu (DT) epc : __page_table_check_zero+0x396/0x544 mm/page_table_check.c:142 ra : __page_table_check_zero+0x396/0x544 mm/page_table_check.c:142 epc : ffffffff80c4e452 ra : ffffffff80c4e452 sp : ffff8f80022a6a40 gp : ffffffff8a22a0c0 tp : ffffaf8021c94f80 t0 : ffffffff80afde38 t1 : fffff5ef02824413 t2 : ffffffff80bdd6aa s0 : ffff8f80022a6ab0 s1 : ffffaf8014122098 a0 : 0000000000000005 a1 : 0000000000000000 a2 : 0000000000080000 a3 : ffffffff80c4e452 a4 : ffff8f8004499000 a5 : 0000000000080000 a6 : 0000000000000003 a7 : ffffaf801412209b s2 : 0000000000000001 s3 : 0000000000000000 s4 : ffffaf8014122050 s5 : dfffffff00000000 s6 : 00000000000c3a01 s7 : 0000000000000001 s8 : 0000000000000000 s9 : 0000000000007fff s10: fffffffef1468fb0 s11: ffffffff8a347d80 t3 : 0000000000000001 t4 : fffff5ef02824413 t5 : fffff5ef02824414 t6 : 0000000000000002 ssp : 0000000000000000 status: 0000000200000120 badaddr: ffffffff80c4e452 cause: 0000000000000003 [] __page_table_check_zero+0x396/0x544 mm/page_table_check.c:142 [] page_table_check_free include/linux/page_table_check.h:46 [inline] [] __free_pages_prepare mm/page_alloc.c:1434 [inline] [] __free_frozen_pages+0x82c/0x14c4 mm/page_alloc.c:2978 [] free_frozen_pages+0xe/0x18 mm/page_alloc.c:3016 [] __folio_put+0x296/0x378 mm/swap.c:112 [] folio_put include/linux/mm.h:1817 [inline] [] free_folio_and_swap_cache+0x100/0x13c mm/swap_state.c:400 [] __folio_split+0x10ce/0x16f8 mm/huge_memory.c:4097 [] __split_huge_page_to_list_to_order+0x7e/0x140 mm/huge_memory.c:4209 [] split_huge_page_to_list_to_order include/linux/huge_mm.h:385 [inline] [] split_folio_to_list mm/huge_memory.c:4273 [inline] [] madvise_free_huge_pmd+0x50a/0xa18 mm/huge_memory.c:2308 [] madvise_free_pte_range+0xb20/0x183c mm/madvise.c:668 [] walk_pmd_range mm/pagewalk.c:130 [inline] [] walk_pud_range mm/pagewalk.c:224 [inline] [] walk_p4d_range mm/pagewalk.c:262 [inline] [] walk_pgd_range+0xcc6/0x1f84 mm/pagewalk.c:303 [] __walk_page_range+0x138/0x7a8 mm/pagewalk.c:411 [] walk_page_range_vma_unsafe+0x1ec/0x82c mm/pagewalk.c:715 [] walk_page_range_vma+0x5a/0x84 mm/pagewalk.c:725 [] madvise_free_single_vma+0x432/0xae0 mm/madvise.c:829 [] madvise_dontneed_free mm/madvise.c:958 [inline] [] madvise_vma_behavior+0xd80/0x2ae4 mm/madvise.c:1368 [] madvise_walk_vmas+0x68c/0x978 mm/madvise.c:1685 [] madvise_do_behavior+0x1ea/0x5c0 mm/madvise.c:1935 [] do_madvise+0x18a/0x22c mm/madvise.c:2028 [] __do_sys_madvise mm/madvise.c:2037 [inline] [] __se_sys_madvise mm/madvise.c:2035 [inline] [] __riscv_sys_madvise+0x88/0xdc mm/madvise.c:2035 [] syscall_handler+0x92/0x114 arch/riscv/include/asm/syscall.h:112 [] do_trap_ecall_u+0x402/0x680 arch/riscv/kernel/traps.c:342 [] handle_exception+0x15e/0x16a arch/riscv/kernel/entry.S:232 Code: 4b00 8526 c0ef e7bf 8a2a b791 d097 ff8c 80e7 49e0 (9002) d097 ---[ end trace 0000000000000000 ]--- ---------------- Code disassembly (best guess): 0: 4b00 lw s0,16(a4) 2: 8526 mv a0,s1 4: e7bfc0ef jal 0xffffffffffffce7e 8: 8a2a mv s4,a0 a: b791 j 0xffffffffffffff4e c: ff8cd097 auipc ra,0xff8cd 10: 49e080e7 jalr 1182(ra) # 0xff8cd4aa * 14: 9002 ebreak <-- trapping instruction 16: 97d0 .short 0xd097