------------[ cut here ]------------ refcount_t: addition on 0; use-after-free. WARNING: CPU: 1 PID: 20677 at lib/refcount.c:25 refcount_warn_saturate+0x1ca/0x210 lib/refcount.c:25 Modules linked in: CPU: 1 UID: 0 PID: 20677 Comm: syz.1.3475 Not tainted 6.15.0-syzkaller-11802-g1af80d00e1e0 #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 RIP: 0010:refcount_warn_saturate+0x1ca/0x210 lib/refcount.c:25 Code: ff 89 de e8 68 e1 e1 fc 84 db 0f 85 e6 fe ff ff e8 7b e6 e1 fc c6 05 35 f0 b5 0b 01 90 48 c7 c7 00 f5 14 8c e8 d7 b1 a0 fc 90 <0f> 0b 90 90 e9 c3 fe ff ff e8 58 e6 e1 fc c6 05 10 f0 b5 0b 01 90 RSP: 0018:ffffc90000a088b0 EFLAGS: 00010286 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff817ae368 RDX: ffff8880285f8000 RSI: ffffffff817ae375 RDI: 0000000000000001 RBP: ffff88802524c26c R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000002490 R12: ffff88802524c26c R13: ffff88802524c100 R14: ffff888035084400 R15: ffff8880568f7c00 FS: 0000000000000000(0000) GS:ffff888124865000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00005583a0e20ce8 CR3: 00000000223e7000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __refcount_add include/linux/refcount.h:289 [inline] __refcount_inc include/linux/refcount.h:366 [inline] refcount_inc include/linux/refcount.h:383 [inline] get_net include/net/net_namespace.h:268 [inline] tipc_aead_encrypt net/tipc/crypto.c:821 [inline] tipc_crypto_xmit+0x20c1/0x2550 net/tipc/crypto.c:1761 tipc_bearer_xmit_skb+0x15f/0x430 net/tipc/bearer.c:572 tipc_disc_timeout+0x5b2/0x850 net/tipc/discover.c:338 call_timer_fn+0x19a/0x620 kernel/time/timer.c:1747 expire_timers kernel/time/timer.c:1798 [inline] __run_timers+0x6ef/0x960 kernel/time/timer.c:2372 __run_timer_base kernel/time/timer.c:2384 [inline] __run_timer_base kernel/time/timer.c:2376 [inline] run_timer_base+0x114/0x190 kernel/time/timer.c:2393 run_timer_softirq+0x1a/0x40 kernel/time/timer.c:2403 handle_softirqs+0x219/0x8e0 kernel/softirq.c:579 __do_softirq kernel/softirq.c:613 [inline] invoke_softirq kernel/softirq.c:453 [inline] __irq_exit_rcu+0x109/0x170 kernel/softirq.c:680 irq_exit_rcu+0x9/0x30 kernel/softirq.c:696 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1050 [inline] sysvec_apic_timer_interrupt+0xa4/0xc0 arch/x86/kernel/apic/apic.c:1050 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 RIP: 0010:check_kcov_mode kernel/kcov.c:185 [inline] RIP: 0010:__sanitizer_cov_trace_pc+0x3b/0x70 kernel/kcov.c:217 Code: 8b 05 b9 99 0f 12 a9 00 01 ff 00 74 1d f6 c4 01 74 43 a9 00 00 0f 00 75 3c a9 00 00 f0 00 75 35 8b 82 3c 16 00 00 85 c0 74 2b <8b> 82 18 16 00 00 83 f8 02 75 20 48 8b 8a 20 16 00 00 8b 92 1c 16 RSP: 0018:ffffc900041cf578 EFLAGS: 00000246 RAX: 0000000080000001 RBX: ffffea0001bb7380 RCX: ffffffff820ee4aa RDX: ffff8880285f8000 RSI: ffffffff820ee4b8 RDI: 0000000000000005 RBP: ffffea0001bb7380 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000001 R13: 0000000000000000 R14: 000000000006edce R15: 0000000000013cfc _compound_head include/linux/page-flags.h:280 [inline] __folio_rmap_sanity_checks+0xe8/0x680 include/linux/rmap.h:426 __folio_remove_rmap mm/rmap.c:1694 [inline] folio_remove_rmap_ptes+0x31/0x970 mm/rmap.c:1804 zap_present_folio_ptes mm/memory.c:1529 [inline] zap_present_ptes mm/memory.c:1590 [inline] do_zap_pte_range mm/memory.c:1691 [inline] zap_pte_range mm/memory.c:1735 [inline] zap_pmd_range mm/memory.c:1827 [inline] zap_pud_range mm/memory.c:1856 [inline] zap_p4d_range mm/memory.c:1877 [inline] unmap_page_range+0x1c4d/0x4380 mm/memory.c:1898 unmap_single_vma.constprop.0+0x153/0x240 mm/memory.c:1941 unmap_vmas+0x218/0x470 mm/memory.c:1985 exit_mmap+0x1b9/0xb90 mm/mmap.c:1284 __mmput+0x12a/0x410 kernel/fork.c:1121 mmput+0x62/0x70 kernel/fork.c:1144 exit_mm kernel/exit.c:581 [inline] do_exit+0x7bc/0x2bd0 kernel/exit.c:943 do_group_exit+0xd3/0x2a0 kernel/exit.c:1104 get_signal+0x2673/0x26d0 kernel/signal.c:3034 arch_do_signal_or_restart+0x8f/0x7d0 arch/x86/kernel/signal.c:337 exit_to_user_mode_loop+0x84/0x110 kernel/entry/common.c:111 exit_to_user_mode_prepare include/linux/entry-common.h:330 [inline] syscall_exit_to_user_mode_work include/linux/entry-common.h:414 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:449 [inline] do_syscall_64+0x3f6/0x4c0 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fe8def8e929 Code: Unable to access opcode bytes at 0x7fe8def8e8ff. RSP: 002b:00007fe8dfe2a038 EFLAGS: 00000246 ORIG_RAX: 0000000000000000 RAX: 0000000000018ff8 RBX: 00007fe8df1b5fa0 RCX: 00007fe8def8e929 RDX: 0000000000018ff8 RSI: 0000200000019680 RDI: 0000000000000004 RBP: 00007fe8df010ab1 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007fe8df1b5fa0 R15: 00007ffc200ab048 ---------------- Code disassembly (best guess): 0: 8b 05 b9 99 0f 12 mov 0x120f99b9(%rip),%eax # 0x120f99bf 6: a9 00 01 ff 00 test $0xff0100,%eax b: 74 1d je 0x2a d: f6 c4 01 test $0x1,%ah 10: 74 43 je 0x55 12: a9 00 00 0f 00 test $0xf0000,%eax 17: 75 3c jne 0x55 19: a9 00 00 f0 00 test $0xf00000,%eax 1e: 75 35 jne 0x55 20: 8b 82 3c 16 00 00 mov 0x163c(%rdx),%eax 26: 85 c0 test %eax,%eax 28: 74 2b je 0x55 * 2a: 8b 82 18 16 00 00 mov 0x1618(%rdx),%eax <-- trapping instruction 30: 83 f8 02 cmp $0x2,%eax 33: 75 20 jne 0x55 35: 48 8b 8a 20 16 00 00 mov 0x1620(%rdx),%rcx 3c: 8b .byte 0x8b 3d: 92 xchg %eax,%edx 3e: 1c 16 sbb $0x16,%al