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