------------[ cut here ]------------ refcount_t: underflow; use-after-free. WARNING: CPU: 1 PID: 6673 at lib/refcount.c:28 refcount_warn_saturate+0x14a/0x210 lib/refcount.c:28 Modules linked in: CPU: 1 UID: 0 PID: 6673 Comm: kworker/u8:12 Not tainted 6.16.0-rc2-syzkaller-00045-g4663747812d1 #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Workqueue: events_unbound nsim_dev_trap_report_work RIP: 0010:refcount_warn_saturate+0x14a/0x210 lib/refcount.c:28 Code: ff 89 de e8 a8 e3 e2 fc 84 db 0f 85 66 ff ff ff e8 bb e8 e2 fc c6 05 a9 f1 b7 0b 01 90 48 c7 c7 a0 0f 15 8c e8 67 00 a2 fc 90 <0f> 0b 90 90 e9 43 ff ff ff e8 98 e8 e2 fc 0f b6 1d 84 f1 b7 0b 31 RSP: 0018:ffffc90000a08dd8 EFLAGS: 00010286 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff817aa1a8 RDX: ffff88802e90da00 RSI: ffffffff817aa1b5 RDI: 0000000000000001 RBP: ffff88805ae68028 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 000000000008e038 R12: ffff88805ae68000 R13: ffff88805ae68028 R14: ffffc90000a08e90 R15: 0000000000000004 FS: 0000000000000000(0000) GS:ffff888124861000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f8ed0a91f98 CR3: 0000000077b4c000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __refcount_sub_and_test include/linux/refcount.h:400 [inline] __refcount_dec_and_test include/linux/refcount.h:432 [inline] refcount_dec_and_test include/linux/refcount.h:450 [inline] put_task_struct include/linux/sched/task.h:134 [inline] delayed_put_task_struct+0x239/0x2e0 kernel/exit.c:230 rcu_do_batch kernel/rcu/tree.c:2576 [inline] rcu_core+0x799/0x14e0 kernel/rcu/tree.c:2832 handle_softirqs+0x216/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:kasan_quarantine_put+0x97/0x240 mm/kasan/quarantine.c:237 Code: 00 00 00 00 00 48 03 5a 10 48 89 5a 10 48 81 fb 00 00 10 00 0f 87 94 00 00 00 4d 85 ed 75 79 9c 58 f6 c4 02 0f 85 6d 01 00 00 <5b> b8 01 00 00 00 5d 41 5c 41 5d 41 5e e9 47 b4 5d 09 e8 82 db a1 RSP: 0018:ffffc9000b4c7ac0 EFLAGS: 00000246 RAX: 0000000000000006 RBX: 000000000009b258 RCX: 0000000000000006 RDX: 0000000000000000 RSI: ffffffff8de13aed RDI: ffffffff8c1563e0 RBP: ffff8880362b4640 R08: 0000000000000001 R09: 0000000000000001 R10: ffffffff90a83057 R11: 0000000000002c00 R12: ffff88801fea08c0 R13: 0000000000000200 R14: ffffea0000d8ad00 R15: 0000000000000000 kasan_slab_free include/linux/kasan.h:233 [inline] slab_free_hook mm/slub.c:2381 [inline] slab_free mm/slub.c:4643 [inline] kmem_cache_free+0x2d1/0x4d0 mm/slub.c:4745 kfree_skbmem+0x1a4/0x1f0 net/core/skbuff.c:1110 __kfree_skb net/core/skbuff.c:1167 [inline] consume_skb net/core/skbuff.c:1398 [inline] consume_skb+0xcc/0x100 net/core/skbuff.c:1392 nsim_dev_trap_report drivers/net/netdevsim/dev.c:821 [inline] nsim_dev_trap_report_work+0x8bd/0xcf0 drivers/net/netdevsim/dev.c:851 process_one_work+0x9cc/0x1b70 kernel/workqueue.c:3238 process_scheduled_works kernel/workqueue.c:3321 [inline] worker_thread+0x6c8/0xf10 kernel/workqueue.c:3402 kthread+0x3c5/0x780 kernel/kthread.c:464 ret_from_fork+0x5d7/0x6f0 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 ---------------- Code disassembly (best guess): 0: 00 00 add %al,(%rax) 2: 00 00 add %al,(%rax) 4: 00 48 03 add %cl,0x3(%rax) 7: 5a pop %rdx 8: 10 48 89 adc %cl,-0x77(%rax) b: 5a pop %rdx c: 10 48 81 adc %cl,-0x7f(%rax) f: fb sti 10: 00 00 add %al,(%rax) 12: 10 00 adc %al,(%rax) 14: 0f 87 94 00 00 00 ja 0xae 1a: 4d 85 ed test %r13,%r13 1d: 75 79 jne 0x98 1f: 9c pushf 20: 58 pop %rax 21: f6 c4 02 test $0x2,%ah 24: 0f 85 6d 01 00 00 jne 0x197 * 2a: 5b pop %rbx <-- trapping instruction 2b: b8 01 00 00 00 mov $0x1,%eax 30: 5d pop %rbp 31: 41 5c pop %r12 33: 41 5d pop %r13 35: 41 5e pop %r14 37: e9 47 b4 5d 09 jmp 0x95db483 3c: e8 .byte 0xe8 3d: 82 (bad) 3e: db .byte 0xdb 3f: a1 .byte 0xa1