------------[ cut here ]------------ refcount_t: underflow; use-after-free. WARNING: CPU: 1 PID: 13900 at lib/refcount.c:28 refcount_warn_saturate+0x140/0x1f0 lib/refcount.c:28 Modules linked in: CPU: 1 PID: 13900 Comm: syz-executor.4 Not tainted 6.5.0-rc3-next-20230728-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2023 RIP: 0010:refcount_warn_saturate+0x140/0x1f0 lib/refcount.c:28 Code: 0a 31 ff 89 de e8 f0 3e 65 fd 84 db 0f 85 6e ff ff ff e8 b3 43 65 fd 48 c7 c7 c0 33 c8 8a c6 05 64 ce 74 0a 01 e8 60 99 2b fd <0f> 0b e9 4f ff ff ff e8 94 43 65 fd 0f b6 1d 4a ce 74 0a 31 ff 89 RSP: 0000:ffffc900001e0d88 EFLAGS: 00010286 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000100 RDX: ffff8880969d9dc0 RSI: ffffffff814d5b56 RDI: 0000000000000001 RBP: ffff8880781e2c60 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 000000000009ced8 R12: ffff8880781e2c60 R13: ffff8880883ea4e8 R14: 0000000000000000 R15: 0000000000000004 FS: 00005555572e6480(0000) GS:ffff8880b9900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f6ef7c58fb0 CR3: 000000009936a000 CR4: 00000000003506e0 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] xp_put_pool+0x8a/0x1e0 net/xdp/xsk_buff_pool.c:286 xsk_destruct+0x95/0x140 net/xdp/xsk.c:1601 __sk_destruct+0x4d/0x770 net/core/sock.c:2163 rcu_do_batch kernel/rcu/tree.c:2139 [inline] rcu_core+0x7fb/0x1bb0 kernel/rcu/tree.c:2403 __do_softirq+0x218/0x965 kernel/softirq.c:553 invoke_softirq kernel/softirq.c:427 [inline] __irq_exit_rcu kernel/softirq.c:632 [inline] irq_exit_rcu+0xb7/0x120 kernel/softirq.c:644 sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1109 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645 RIP: 0010:__sanitizer_cov_trace_pc+0x60/0x70 kernel/kcov.c:225 Code: 82 e0 15 00 00 83 f8 02 75 20 48 8b 8a e8 15 00 00 8b 92 e4 15 00 00 48 8b 01 48 83 c0 01 48 39 d0 73 07 48 89 01 48 89 34 c1 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 f3 0f 1e fa 41 57 RSP: 0000:ffffc9000315fb50 EFLAGS: 00000293 RAX: 0000000000000000 RBX: ffffea0001840340 RCX: 0000000000000000 RDX: ffff8880969d9dc0 RSI: ffffffff81b40131 RDI: 0000000000000007 RBP: 0000000000000000 R08: 0000000000000007 R09: 0000000000000000 R10: 0000000000000000 R11: 00007ffe8ef10d98 R12: ffffc9000315fc70 R13: 0000000000000014 R14: 000000000000005f R15: dffffc0000000000 PageTail include/linux/page-flags.h:284 [inline] folio_flags.constprop.0+0x51/0x150 include/linux/page-flags.h:311 folio_test_uptodate include/linux/page-flags.h:705 [inline] next_uptodate_page+0x18b/0x530 mm/filemap.c:3464 next_map_page mm/filemap.c:3497 [inline] filemap_map_pages+0x773/0x1200 mm/filemap.c:3574 do_fault_around mm/memory.c:4665 [inline] do_read_fault mm/memory.c:4698 [inline] do_fault mm/memory.c:4845 [inline] do_pte_missing mm/memory.c:3818 [inline] handle_pte_fault mm/memory.c:5136 [inline] __handle_mm_fault+0x2d23/0x4030 mm/memory.c:5276 handle_mm_fault+0x47a/0xa00 mm/memory.c:5441 do_user_addr_fault+0x2e7/0xfe0 arch/x86/mm/fault.c:1342 handle_page_fault arch/x86/mm/fault.c:1483 [inline] exc_page_fault+0x5c/0xd0 arch/x86/mm/fault.c:1539 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:570 RIP: 0033:0x7f6ef7c58fb0 Code: Unable to access opcode bytes at 0x7f6ef7c58f86. RSP: 002b:00007ffe8ef10d98 EFLAGS: 00010202 RAX: 0000000000000008 RBX: 0000000000000000 RCX: 00007f6ef7c79b8d RDX: 0000000000000000 RSI: 0000000000000018 RDI: 00005555572e6760 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 00005555572e6750 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000001 ---------------- Code disassembly (best guess), 1 bytes skipped: 0: e0 15 loopne 0x17 2: 00 00 add %al,(%rax) 4: 83 f8 02 cmp $0x2,%eax 7: 75 20 jne 0x29 9: 48 8b 8a e8 15 00 00 mov 0x15e8(%rdx),%rcx 10: 8b 92 e4 15 00 00 mov 0x15e4(%rdx),%edx 16: 48 8b 01 mov (%rcx),%rax 19: 48 83 c0 01 add $0x1,%rax 1d: 48 39 d0 cmp %rdx,%rax 20: 73 07 jae 0x29 22: 48 89 01 mov %rax,(%rcx) 25: 48 89 34 c1 mov %rsi,(%rcx,%rax,8) * 29: c3 ret <-- trapping instruction 2a: 66 66 2e 0f 1f 84 00 data16 cs nopw 0x0(%rax,%rax,1) 31: 00 00 00 00 35: 0f 1f 40 00 nopl 0x0(%rax) 39: f3 0f 1e fa endbr64 3d: 41 57 push %r15