------------[ cut here ]------------ kernel BUG at [] mm/page_table_check.c:142! Kernel BUG [#1] Modules linked in: CPU: 0 UID: 0 PID: 4402 Comm: syz.2.54 Not tainted syzkaller #0 PREEMPT Hardware name: riscv-virtio,qemu (DT) epc : __page_table_check_zero+0x370/0x532 mm/page_table_check.c:142 ra : __page_table_check_zero+0x370/0x532 mm/page_table_check.c:142 epc : ffffffff80cbe304 ra : ffffffff80cbe304 sp : ffff8f8009d36ab0 gp : ffffffff8a6d9c00 tp : ffffaf801c0fd040 t0 : ffff8f8009d36a60 t1 : fffff5ef027c6009 t2 : ffffffff9191b3a0 s0 : ffff8f8009d36b20 s1 : ffffaf8013e30048 a0 : 0000000000000005 a1 : 0000000000000000 a2 : 0000000000000002 a3 : ffffffff80cbe304 a4 : 0000000000000000 a5 : ffffaf801c0fe040 a6 : 0000000000000003 a7 : ffffaf8013e3004b s2 : 0000000000000001 s3 : 0000000000000000 s4 : ffffaf8013e30000 s5 : dfffffff00000000 s6 : 0000000000000200 s7 : 00000000000b7000 s8 : ffffffff88e6d260 s9 : 0000000000007fff s10: fffffffef14ff3ac s11: ffffffff8a7f9d60 t3 : 00000000000000c8 t4 : fffff5ef027c6009 t5 : fffff5ef027c600a t6 : 0000000000000002 ssp : 0000000000000000 status: 0000000200000120 badaddr: ffffffff80cbe304 cause: 0000000000000003 [] __page_table_check_zero+0x370/0x532 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:1419 [inline] [] free_unref_folios+0xb6a/0x1c5c mm/page_alloc.c:3022 [] folios_put_refs+0x46c/0x7c6 mm/folio.c:1034 [] free_pages_and_swap_cache+0x278/0x3be mm/swap_state.c:595 [] __tlb_batch_free_encoded_pages+0xe2/0x25a mm/mmu_gather.c:138 [] tlb_batch_pages_flush mm/mmu_gather.c:151 [inline] [] tlb_flush_mmu_free mm/mmu_gather.c:417 [inline] [] tlb_flush_mmu+0xdc/0x5f8 mm/mmu_gather.c:424 [] zap_pte_range mm/memory.c:2104 [inline] [] zap_pmd_range mm/memory.c:2151 [inline] [] zap_pud_range mm/memory.c:2179 [inline] [] zap_p4d_range mm/memory.c:2200 [inline] [] __zap_vma_range+0x13f2/0x456a mm/memory.c:2240 [] unmap_vmas+0x244/0x518 mm/memory.c:2309 [] exit_mmap+0x1f8/0xc9e mm/mmap.c:1315 [] __mmput+0x106/0x3d0 kernel/fork.c:1193 [] mmput+0x74/0x88 kernel/fork.c:1216 [] exit_mm kernel/exit.c:617 [inline] [] do_exit+0x80c/0x297c kernel/exit.c:999 [] do_group_exit+0xca/0x258 kernel/exit.c:1154 [] get_signal+0x1f58/0x2224 kernel/signal.c:3051 [] arch_do_signal_or_restart+0x648/0x1df6 arch/riscv/kernel/signal.c:534 [] __exit_to_user_mode_loop kernel/entry/common.c:66 [inline] [] exit_to_user_mode_loop+0x92/0xce8 kernel/entry/common.c:101 [] __exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline] [] syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline] [] syscall_exit_to_user_mode include/linux/entry-common.h:343 [inline] [] do_trap_ecall_u+0x52c/0x658 arch/riscv/kernel/traps.c:344 [] handle_exception+0x168/0x174 arch/riscv/kernel/entry.S:237 Code: e0a0 854a c0ef ff6f 8a2a bf9d 2097 ff88 80e7 df80 (9002) 2097 ---[ end trace 0000000000000000 ]--- ---------------- Code disassembly (best guess): 0: e0a0 fsw fs0,64(s1) 2: 854a mv a0,s2 4: ff6fc0ef jal 0xffffffffffffc7fa 8: 8a2a mv s4,a0 a: bf9d j 0xffffffffffffff80 c: ff882097 auipc ra,0xff882 10: df8080e7 jalr -520(ra) # 0xff881e04 * 14: 9002 ebreak <-- trapping instruction 16: 9720 .short 0x2097