------------[ 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