------------[ cut here ]------------
refcount_t: addition on 0; use-after-free.
WARNING: CPU: 1 PID: 20228 at lib/refcount.c:25 refcount_warn_saturate+0xff/0x1a0 lib/refcount.c:25
Modules linked in:
CPU: 1 PID: 20228 Comm: syz.7.4703 Not tainted 5.15.185-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:refcount_warn_saturate+0xff/0x1a0 lib/refcount.c:25
Code: 09 01 48 c7 c7 40 6b 59 8a e8 dd 27 bb 05 0f 0b eb e0 e8 04 42 9c fd c6 05 ae 8f 79 09 01 48 c7 c7 80 6a 59 8a e8 c1 27 bb 05 <0f> 0b eb c4 e8 e8 41 9c fd c6 05 93 8f 79 09 01 48 c7 c7 e0 6a 59
RSP: 0018:ffffc90000dd0848 EFLAGS: 00010246
RAX: f4608a0ec8176c00 RBX: 0000000000000002 RCX: ffff8880212e8000
RDX: 0000000000000100 RSI: 0000000080000101 RDI: 0000000000000000
RBP: ffffc90000dd09b0 R08: dffffc0000000000 R09: fffffbfff1ff3652
R10: fffffbfff1ff3652 R11: 1ffffffff1ff3651 R12: ffff888024e59a80
R13: dffffc0000000000 R14: 0000000000000002 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff8880b9100000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000020000024c030 CR3: 000000000be8e000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
__refcount_add include/linux/refcount.h:-1 [inline]
__refcount_inc include/linux/refcount.h:250 [inline]
refcount_inc include/linux/refcount.h:267 [inline]
get_net include/net/net_namespace.h:252 [inline]
tipc_aead_encrypt net/tipc/crypto.c:832 [inline]
tipc_crypto_xmit+0x1949/0x2560 net/tipc/crypto.c:1772
tipc_bearer_xmit_skb+0x228/0x3c0 net/tipc/bearer.c:574
tipc_disc_timeout+0x568/0x6b0 net/tipc/discover.c:338
call_timer_fn+0x16c/0x530 kernel/time/timer.c:1451
expire_timers kernel/time/timer.c:1496 [inline]
__run_timers+0x525/0x7c0 kernel/time/timer.c:1767
run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1780
handle_softirqs+0x328/0x820 kernel/softirq.c:576
__do_softirq kernel/softirq.c:610 [inline]
invoke_softirq kernel/softirq.c:450 [inline]
__irq_exit_rcu+0x12f/0x220 kernel/softirq.c:659
irq_exit_rcu+0x5/0x20 kernel/softirq.c:671
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1108 [inline]
sysvec_apic_timer_interrupt+0xa0/0xc0 arch/x86/kernel/apic/apic.c:1108
asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:676
RIP: 0010:lock_acquire+0x1f2/0x3f0 kernel/locking/lockdep.c:5627
Code: 00 9c 8f 84 24 80 00 00 00 f6 84 24 81 00 00 00 02 0f 85 f6 00 00 00 41 f7 c6 00 02 00 00 74 01 fb 48 c7 44 24 60 0e 36 e0 45 <4b> c7 44 3d 00 00 00 00 00 66 43 c7 44 3d 09 00 00 43 c6 44 3d 0b
RSP: 0018:ffffc9000334f2e0 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 0000000000000000 RCX: f4608a0ec8176c00
RDX: 0000000000000000 RSI: ffffffff8a0b2460 RDI: ffffffff8a59a740
RBP: ffffc9000334f400 R08: dffffc0000000000 R09: fffffbfff1ff3619
R10: fffffbfff1ff3619 R11: 1ffffffff1ff3618 R12: ffffffff8c11bfa0
R13: 1ffff92000669e68 R14: 0000000000000246 R15: dffffc0000000000
rcu_lock_acquire+0x20/0x30 include/linux/rcupdate.h:312
rcu_read_lock include/linux/rcupdate.h:739 [inline]
lock_page_memcg+0xa9/0x410 mm/memcontrol.c:2047
page_remove_rmap+0x2a/0x10f0 mm/rmap.c:1351
zap_pte_range mm/memory.c:1384 [inline]
zap_pmd_range mm/memory.c:1505 [inline]
zap_pud_range mm/memory.c:1534 [inline]
zap_p4d_range mm/memory.c:1555 [inline]
unmap_page_range+0xfbc/0x2520 mm/memory.c:1576
unmap_vmas+0x11b/0x230 mm/memory.c:1653
exit_mmap+0x38f/0x5f0 mm/mmap.c:3204
__mmput+0x115/0x3b0 kernel/fork.c:1127
exit_mm+0x567/0x6c0 kernel/exit.c:550
do_exit+0x599/0x20a0 kernel/exit.c:861
do_group_exit+0x12e/0x300 kernel/exit.c:996
get_signal+0x6ca/0x12c0 kernel/signal.c:2900
arch_do_signal_or_restart+0xc1/0x1300 arch/x86/kernel/signal.c:867
handle_signal_work kernel/entry/common.c:154 [inline]
exit_to_user_mode_loop+0x9e/0x130 kernel/entry/common.c:178
exit_to_user_mode_prepare+0xb1/0x140 kernel/entry/common.c:214
__syscall_exit_to_user_mode_work kernel/entry/common.c:296 [inline]
syscall_exit_to_user_mode+0x16/0x40 kernel/entry/common.c:307
do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:86
entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7ff391b18929
Code: Unable to access opcode bytes at RIP 0x7ff391b188ff.
RSP: 002b:00007ff38f95f0e8 EFLAGS: 00000246
ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 00007ff391d40088 RCX: 00007ff391b18929
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007ff391d40088
RBP: 00007ff391d40080 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ff391d4008c
R13: 0000000000000000 R14: 00007ffcee1a5740 R15: 00007ffcee1a5828
----------------
Code disassembly (best guess):
0: 00 9c 8f 84 24 80 00 add %bl,0x802484(%rdi,%rcx,4)
7: 00 00 add %al,(%rax)
9: f6 84 24 81 00 00 00 testb $0x2,0x81(%rsp)
10: 02
11: 0f 85 f6 00 00 00 jne 0x10d
17: 41 f7 c6 00 02 00 00 test $0x200,%r14d
1e: 74 01 je 0x21
20: fb sti
21: 48 c7 44 24 60 0e 36 movq $0x45e0360e,0x60(%rsp)
28: e0 45
* 2a: 4b c7 44 3d 00 00 00 movq $0x0,0x0(%r13,%r15,1) <-- trapping instruction
31: 00 00
33: 66 43 c7 44 3d 09 00 movw $0x0,0x9(%r13,%r15,1)
3a: 00
3b: 43 rex.XB
3c: c6 .byte 0xc6
3d: 44 rex.R
3e: 3d .byte 0x3d
3f: 0b .byte 0xb