------------[ cut here ]------------ refcount_t: underflow; use-after-free. WARNING: lib/refcount.c:28 at refcount_warn_saturate+0xf4/0x130 lib/refcount.c:28, CPU#0: syz.1.462/7117 Modules linked in: CPU: 0 UID: 0 PID: 7117 Comm: syz.1.462 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/16/2026 RIP: 0010:refcount_warn_saturate+0xf4/0x130 lib/refcount.c:28 Code: 06 e8 30 5b e2 fc 48 8d 3d 39 33 26 0c 67 48 0f b9 3a e8 1f 5b e2 fc 5b 5d c3 cc cc cc cc e8 13 5b e2 fc 48 8d 3d 2c 33 26 0c <67> 48 0f b9 3a e8 02 5b e2 fc 5b 5d e9 4b e5 a8 06 e8 f6 5a e2 fc RSP: 0018:ffffc90000007c18 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff88807db0c820 RCX: 0000000000000101 RDX: ffff88802ff42580 RSI: ffffffff852990fd RDI: ffffffff914fc430 RBP: 0000000000000003 R08: 0000000000000005 R09: 0000000000000004 R10: 0000000000000003 R11: 0000000000000001 R12: ffff88807db0c820 R13: 8000000000000101 R14: 1ffff92000000f8d R15: ffffffff8b056440 FS: 0000000000000000(0000) GS:ffff888123b64000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f1543bc2d58 CR3: 000000007c98b000 CR4: 00000000003526f0 Call Trace: __refcount_sub_and_test include/linux/refcount.h:400 [inline] __refcount_dec_and_test include/linux/refcount.h:432 [inline] refcount_dec_and_test include/linux/refcount.h:450 [inline] sctp_transport_put+0x134/0x180 net/sctp/transport.c:476 call_timer_fn+0x198/0x5f0 kernel/time/timer.c:1748 expire_timers kernel/time/timer.c:1799 [inline] __run_timers+0x757/0xb00 kernel/time/timer.c:2374 __run_timer_base kernel/time/timer.c:2386 [inline] __run_timer_base kernel/time/timer.c:2378 [inline] run_timer_base+0x114/0x190 kernel/time/timer.c:2395 run_timer_softirq+0x1a/0x50 kernel/time/timer.c:2405 handle_softirqs+0x1e6/0x9d0 kernel/softirq.c:645 __do_softirq kernel/softirq.c:679 [inline] invoke_softirq kernel/softirq.c:519 [inline] __irq_exit_rcu+0x194/0x210 kernel/softirq.c:767 irq_exit_rcu+0x9/0x30 kernel/softirq.c:784 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline] sysvec_apic_timer_interrupt+0xa3/0xc0 arch/x86/kernel/apic/apic.c:1062 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674 RIP: 0010:its_return_thunk+0x0/0x10 arch/x86/lib/retpoline.S:437 Code: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 e9 cb a3 a3 f5 cc RSP: 0018:ffffc9000584f458 EFLAGS: 00000293 RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffffffff828b51c6 RDX: 0000000000000001 RSI: 0000000000000000 RDI: ffff88802ff42580 RBP: 0000000000000001 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000001 R12: ffff88801f42b160 R13: 0000000000000001 R14: 0000000000000000 R15: dffffc0000000000 rcu_read_unlock include/linux/rcupdate.h:878 [inline] page_table_check_clear+0x2d6/0x540 mm/page_table_check.c:89 __page_table_check_pte_clear+0x10f/0x120 mm/page_table_check.c:155 page_table_check_pte_clear include/linux/page_table_check.h:55 [inline] ptep_get_and_clear_full arch/x86/include/asm/pgtable.h:1259 [inline] get_and_clear_full_ptes include/linux/pgtable.h:879 [inline] zap_present_folio_ptes mm/memory.c:1779 [inline] zap_present_ptes mm/memory.c:1861 [inline] do_zap_pte_range mm/memory.c:1963 [inline] zap_pte_range mm/memory.c:2065 [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+0x2c43/0x48e0 mm/memory.c:2240 unmap_vmas+0x299/0x5f0 mm/memory.c:2309 exit_mmap+0x1ef/0xa00 mm/mmap.c:1315 __mmput+0x12a/0x410 kernel/fork.c:1193 mmput+0x67/0x80 kernel/fork.c:1216 exit_mm kernel/exit.c:614 [inline] do_exit+0x8b1/0x2ae0 kernel/exit.c:996 do_group_exit+0xd5/0x2a0 kernel/exit.c:1151 get_signal+0x1ec7/0x21e0 kernel/signal.c:3039 arch_do_signal_or_restart+0x91/0x7e0 arch/x86/kernel/signal.c:337 __exit_to_user_mode_loop kernel/entry/common.c:66 [inline] exit_to_user_mode_loop+0x139/0x700 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:336 [inline] do_syscall_64+0x661/0x790 arch/x86/entry/syscall_64.c:89 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f7d6319e159 Code: Unable to access opcode bytes at 0x7f7d6319e12f. RSP: 002b:00007f7d641470e8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: fffffffffffffe00 RBX: 00007f7d63425fa8 RCX: 00007f7d6319e159 RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007f7d63425fa8 RBP: 00007f7d63425fa0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f7d63426038 R14: 00007ffc0dc62350 R15: 00007ffc0dc62438 ---------------- Code disassembly (best guess), 1 bytes skipped: 0: e8 30 5b e2 fc call 0xfce25b35 5: 48 8d 3d 39 33 26 0c lea 0xc263339(%rip),%rdi # 0xc263345 c: 67 48 0f b9 3a ud1 (%edx),%rdi 11: e8 1f 5b e2 fc call 0xfce25b35 16: 5b pop %rbx 17: 5d pop %rbp 18: c3 ret 19: cc int3 1a: cc int3 1b: cc int3 1c: cc int3 1d: e8 13 5b e2 fc call 0xfce25b35 22: 48 8d 3d 2c 33 26 0c lea 0xc26332c(%rip),%rdi # 0xc263355 * 29: 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction 2e: e8 02 5b e2 fc call 0xfce25b35 33: 5b pop %rbx 34: 5d pop %rbp 35: e9 4b e5 a8 06 jmp 0x6a8e585 3a: e8 f6 5a e2 fc call 0xfce25b35