------------[ cut here ]------------
refcount_t: underflow; use-after-free.
WARNING: CPU: 2 PID: 19882 at lib/refcount.c:28 refcount_warn_saturate+0x1d1/0x1e0 lib/refcount.c:28
Modules linked in:
CPU: 2 PID: 19882 Comm: syz-executor.1 Not tainted 5.16.0-rc2-syzkaller #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014
RIP: 0010:refcount_warn_saturate+0x1d1/0x1e0 lib/refcount.c:28
Code: e9 db fe ff ff 48 89 df e8 8c 76 e2 fd e9 8a fe ff ff e8 02 3c 9c fd 48 c7 c7 80 4c 04 8a c6 05 0d d9 a1 09 01 e8 f3 d3 25 05 <0f> 0b e9 af fe ff ff 0f 1f 84 00 00 00 00 00 41 56 41 55 41 54 55
RSP: 0018:ffffc90000780d00 EFLAGS: 00010282
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff8880187800c0 RSI: ffffffff815e40a8 RDI: fffff520000f0192
RBP: 0000000000000003 R08: 0000000000000000 R09: 0000000000000001
R10: ffffffff815dde4e R11: 0000000000000000 R12: ffff8880129f4820
R13: 1ffff920000f01a8 R14: ffffffff886212b0 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff88802cc00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f7d06da39c8 CR3: 000000000b88e000 CR4: 0000000000150ee0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
__refcount_sub_and_test include/linux/refcount.h:283 [inline]
__refcount_dec_and_test include/linux/refcount.h:315 [inline]
refcount_dec_and_test include/linux/refcount.h:333 [inline]
sctp_transport_put+0x138/0x180 net/sctp/transport.c:486
call_timer_fn+0x1a5/0x6b0 kernel/time/timer.c:1421
expire_timers kernel/time/timer.c:1466 [inline]
__run_timers.part.0+0x675/0xa20 kernel/time/timer.c:1734
__run_timers kernel/time/timer.c:1715 [inline]
run_timer_softirq+0xb3/0x1d0 kernel/time/timer.c:1747
__do_softirq+0x29b/0x9c2 kernel/softirq.c:558
invoke_softirq kernel/softirq.c:432 [inline]
__irq_exit_rcu+0x123/0x180 kernel/softirq.c:636
irq_exit_rcu+0x5/0x20 kernel/softirq.c:648
sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1097
asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:orc_find arch/x86/kernel/unwind_orc.c:164 [inline]
RIP: 0010:unwind_next_frame+0x276/0x1ce0 arch/x86/kernel/unwind_orc.c:443
Code: 48 89 54 24 30 48 89 74 24 28 44 89 5c 24 20 e8 f0 1f 89 00 48 8b 54 24 30 48 8b 74 24 28 44 8b 5c 24 20 8b 0c 95 c4 b6 a9 8e <8d> 56 01 48 b8 00 00 00 00 00 fc ff df 48 8d 3c 95 c4 b6 a9 8e 49
RSP: 0018:ffffc9000373f108 EFLAGS: 00000246
RAX: 0000000000000003 RBX: 1ffff920006e7e29 RCX: 000000000000f9e1
RDX: 00000000000045a9 RSI: 00000000000045a9 RDI: ffffffff8eaacd68
RBP: 0000000000000001 R08: ffffffff8b9fa220 R09: 0000000000000001
R10: fffff520006e7e47 R11: 000000000008808a R12: ffffc9000373f228
R13: ffffc9000373f215 R14: ffffc9000373f1e0 R15: ffffffff8145a9d4
arch_stack_walk+0x7d/0xe0 arch/x86/kernel/stacktrace.c:25
stack_trace_save+0x8c/0xc0 kernel/stacktrace.c:122
save_stack+0x151/0x1e0 mm/page_owner.c:119
__set_page_owner+0x45/0x2d0 mm/page_owner.c:181
prep_new_page mm/page_alloc.c:2418 [inline]
get_page_from_freelist+0xa72/0x2f50 mm/page_alloc.c:4149
__alloc_pages+0x1b2/0x500 mm/page_alloc.c:5369
alloc_pages+0x1a7/0x300 mm/mempolicy.c:2191
__get_free_pages+0x8/0x40 mm/page_alloc.c:5418
tlb_next_batch mm/mmu_gather.c:29 [inline]
__tlb_remove_page_size+0x253/0x420 mm/mmu_gather.c:83
__tlb_remove_page include/asm-generic/tlb.h:440 [inline]
zap_pte_range mm/memory.c:1360 [inline]
zap_pmd_range mm/memory.c:1467 [inline]
zap_pud_range mm/memory.c:1496 [inline]
zap_p4d_range mm/memory.c:1517 [inline]
unmap_page_range+0xf85/0x29f0 mm/memory.c:1538
unmap_single_vma+0x198/0x310 mm/memory.c:1583
unmap_vmas+0x16b/0x2f0 mm/memory.c:1615
exit_mmap+0x1d0/0x630 mm/mmap.c:3170
__mmput+0x122/0x4b0 kernel/fork.c:1113
mmput+0x56/0x60 kernel/fork.c:1134
exit_mm kernel/exit.c:507 [inline]
do_exit+0xb27/0x2b40 kernel/exit.c:819
do_group_exit+0x125/0x310 kernel/exit.c:929
get_signal+0x47d/0x2220 kernel/signal.c:2852
arch_do_signal_or_restart+0x2a9/0x1c40 arch/x86/kernel/signal.c:868
handle_signal_work kernel/entry/common.c:148 [inline]
exit_to_user_mode_loop kernel/entry/common.c:172 [inline]
exit_to_user_mode_prepare+0x17d/0x290 kernel/entry/common.c:207
__syscall_exit_to_user_mode_work kernel/entry/common.c:289 [inline]
syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:300
do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86
entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7f7d0902cae9
Code: Unable to access opcode bytes at RIP 0x7f7d0902cabf.
RSP: 002b:00007f7d065a2188 EFLAGS: 00000246 ORIG_RAX: 0000000000000029
RAX: 0000000000000004 RBX: 00007f7d0913ff60 RCX: 00007f7d0902cae9
RDX: 0000000000000084 RSI: 0000000000000001 RDI: 0000000000000002
RBP: 00007f7d09086f6d R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007ffeb612bc4f R14: 00007f7d065a2300 R15: 0000000000022000
----------------
Code disassembly (best guess):
0: 48 89 54 24 30 mov %rdx,0x30(%rsp)
5: 48 89 74 24 28 mov %rsi,0x28(%rsp)
a: 44 89 5c 24 20 mov %r11d,0x20(%rsp)
f: e8 f0 1f 89 00 callq 0x892004
14: 48 8b 54 24 30 mov 0x30(%rsp),%rdx
19: 48 8b 74 24 28 mov 0x28(%rsp),%rsi
1e: 44 8b 5c 24 20 mov 0x20(%rsp),%r11d
23: 8b 0c 95 c4 b6 a9 8e mov -0x7156493c(,%rdx,4),%ecx
* 2a: 8d 56 01 lea 0x1(%rsi),%edx <-- trapping instruction
2d: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
34: fc ff df
37: 48 8d 3c 95 c4 b6 a9 lea -0x7156493c(,%rdx,4),%rdi
3e: 8e
3f: 49 rex.WB