vcan0: j1939_tp_rxtimer: 0xffff888031efec00: rx timeout, send abort vcan0: j1939_xtp_rx_abort_one: 0xffff888031efec00: 0x30000: (3) A timeout occurred and this is the connection abort to close the session. ------------[ cut here ]------------ refcount_t: underflow; use-after-free. WARNING: CPU: 0 PID: 5942 at lib/refcount.c:28 refcount_warn_saturate+0x15a/0x1d0 lib/refcount.c:28 Modules linked in: CPU: 0 UID: 0 PID: 5942 Comm: kworker/u8:8 Not tainted 6.13.0-rc1-syzkaller-00025-gfeffde684ac2 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: bat_events batadv_nc_worker RIP: 0010:refcount_warn_saturate+0x15a/0x1d0 lib/refcount.c:28 Code: e0 1e 5f 8c e8 87 c5 95 fc 90 0f 0b 90 90 eb 99 e8 2b 1e d5 fc c6 05 6d 2c 39 0b 01 90 48 c7 c7 40 1f 5f 8c e8 67 c5 95 fc 90 <0f> 0b 90 90 e9 76 ff ff ff e8 08 1e d5 fc c6 05 47 2c 39 0b 01 90 RSP: 0018:ffffc90000007680 EFLAGS: 00010246 RAX: 644c42515eb44d00 RBX: ffff88801cb07d64 RCX: ffff888025a91e00 RDX: 0000000000000100 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 0000000000000003 R08: ffffffff81601c02 R09: fffffbfff1cfa210 R10: dffffc0000000000 R11: fffffbfff1cfa210 R12: ffff888031efec68 R13: ffff88801cb07d64 R14: 1ffff110063dfd98 R15: ffff888031efec00 FS: 0000000000000000(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007ff08c50b678 CR3: 000000000e736000 CR4: 0000000000350ef0 Call Trace: kfree_skb_reason include/linux/skbuff.h:1263 [inline] kfree_skb include/linux/skbuff.h:1272 [inline] j1939_session_destroy net/can/j1939/transport.c:282 [inline] __j1939_session_release net/can/j1939/transport.c:294 [inline] kref_put include/linux/kref.h:65 [inline] j1939_session_put+0x1ed/0x440 net/can/j1939/transport.c:299 j1939_xtp_rx_abort net/can/j1939/transport.c:1362 [inline] j1939_tp_cmd_recv net/can/j1939/transport.c:2128 [inline] j1939_tp_recv+0x92a/0x1050 net/can/j1939/transport.c:2161 j1939_can_recv+0x732/0xb20 net/can/j1939/main.c:108 deliver net/can/af_can.c:573 [inline] can_rcv_filter+0x35b/0x7f0 net/can/af_can.c:607 can_receive+0x327/0x480 net/can/af_can.c:664 can_rcv+0x144/0x260 net/can/af_can.c:688 __netif_receive_skb_one_core net/core/dev.c:5672 [inline] __netif_receive_skb+0x2e2/0x650 net/core/dev.c:5785 process_backlog+0x662/0x15b0 net/core/dev.c:6117 __napi_poll+0xcd/0x490 net/core/dev.c:6877 napi_poll net/core/dev.c:6946 [inline] net_rx_action+0x89b/0x1240 net/core/dev.c:7068 handle_softirqs+0x2d6/0x9b0 kernel/softirq.c:554 __do_softirq kernel/softirq.c:588 [inline] invoke_softirq kernel/softirq.c:428 [inline] __irq_exit_rcu+0xf7/0x220 kernel/softirq.c:655 irq_exit_rcu+0x9/0x30 kernel/softirq.c:671 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline] sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1049 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 RIP: 0010:native_save_fl arch/x86/include/asm/irqflags.h:32 [inline] RIP: 0010:arch_local_save_flags arch/x86/include/asm/irqflags.h:87 [inline] RIP: 0010:arch_local_irq_save arch/x86/include/asm/irqflags.h:123 [inline] RIP: 0010:lock_acquire+0x18c/0x550 kernel/locking/lockdep.c:5845 Code: eb 03 42 80 3c 2b 00 74 08 4c 89 ff e8 1d ae 8f 00 48 c7 84 24 80 00 00 00 00 00 00 00 9c 8f 84 24 80 00 00 00 42 80 3c 2b 00 <74> 08 4c 89 ff e8 0a ad 8f 00 48 8d 5c 24 60 4c 8b bc 24 80 00 00 RSP: 0018:ffffc900044c79e0 EFLAGS: 00000246 RAX: 0000000000000000 RBX: 1ffff92000898f4c RCX: ffffffff817aac24 RDX: 0000000000000000 RSI: ffffffff8c5f63c0 RDI: ffffffff8c5f6380 RBP: ffffc900044c7b40 R08: ffffffff901945f7 R09: 1ffffffff20328be R10: dffffc0000000000 R11: fffffbfff20328bf R12: 1ffff92000898f44 R13: dffffc0000000000 R14: 0000000000000000 R15: ffffc900044c7a60 rcu_lock_acquire include/linux/rcupdate.h:337 [inline] rcu_read_lock include/linux/rcupdate.h:849 [inline] batadv_nc_purge_orig_hash net/batman-adv/network-coding.c:408 [inline] batadv_nc_worker+0xec/0x610 net/batman-adv/network-coding.c:719 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0xa68/0x1840 kernel/workqueue.c:3310 worker_thread+0x870/0xd30 kernel/workqueue.c:3391 kthread+0x2f2/0x390 kernel/kthread.c:389 ret_from_fork+0x4d/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 ---------------- Code disassembly (best guess): 0: eb 03 jmp 0x5 2: 42 80 3c 2b 00 cmpb $0x0,(%rbx,%r13,1) 7: 74 08 je 0x11 9: 4c 89 ff mov %r15,%rdi c: e8 1d ae 8f 00 call 0x8fae2e 11: 48 c7 84 24 80 00 00 movq $0x0,0x80(%rsp) 18: 00 00 00 00 00 1d: 9c pushf 1e: 8f 84 24 80 00 00 00 pop 0x80(%rsp) 25: 42 80 3c 2b 00 cmpb $0x0,(%rbx,%r13,1) * 2a: 74 08 je 0x34 <-- trapping instruction 2c: 4c 89 ff mov %r15,%rdi 2f: e8 0a ad 8f 00 call 0x8fad3e 34: 48 8d 5c 24 60 lea 0x60(%rsp),%rbx 39: 4c rex.WR 3a: 8b .byte 0x8b 3b: bc 24 80 00 00 mov $0x8024,%esp