refcount_t: addition on 0; use-after-free. WARNING: CPU: 0 PID: 10094 at lib/refcount.c:25 refcount_warn_saturate+0x169/0x1e0 lib/refcount.c:25 Modules linked in: CPU: 0 PID: 10094 Comm: syz-executor.5 Not tainted 5.14.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:refcount_warn_saturate+0x169/0x1e0 lib/refcount.c:25 Code: 09 31 ff 89 de e8 c7 29 9f fd 84 db 0f 85 36 ff ff ff e8 7a 23 9f fd 48 c7 c7 80 73 e3 89 c6 05 d5 90 81 09 01 e8 e1 bc 11 05 <0f> 0b e9 17 ff ff ff e8 5b 23 9f fd 0f b6 1d ba 90 81 09 31 ff 89 RSP: 0018:ffffc9000bb17d20 EFLAGS: 00010286 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: ffff88801b8cd4c0 RSI: ffffffff815d85c5 RDI: fffff52001762f96 RBP: 0000000000000002 R08: 0000000000000000 R09: 0000000000000000 R10: ffffffff815d23fe R11: 0000000000000000 R12: ffff8880309e4000 R13: ffffc9000bb17e34 R14: ffffc9000bb17e40 R15: 0000000000000001 FS: 00007fd690a4a700(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007ffdc0941720 CR3: 0000000047a08000 CR4: 00000000001506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __refcount_add include/linux/refcount.h:199 [inline] __refcount_inc include/linux/refcount.h:250 [inline] refcount_inc include/linux/refcount.h:267 [inline] kref_get include/linux/kref.h:45 [inline] j1939_netdev_start+0x68b/0x920 net/can/j1939/main.c:254 j1939_sk_bind+0x426/0xeb0 net/can/j1939/socket.c:482 __sys_bind+0x1e9/0x250 net/socket.c:1679 __do_sys_bind net/socket.c:1690 [inline] __se_sys_bind net/socket.c:1688 [inline] __x64_sys_bind+0x6f/0xb0 net/socket.c:1688 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x4665e9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fd690a4a188 EFLAGS: 00000246 ORIG_RAX: 0000000000000031 RAX: ffffffffffffffda RBX: 000000000056c038 RCX: 00000000004665e9 RDX: 0000000000000018 RSI: 0000000020000240 RDI: 0000000000000008 RBP: 00000000004bfcc4 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000056c038 R13: 00007ffc949b1adf R14: 00007fd690a4a300 R15: 0000000000022000 ---------------- Code disassembly (best guess): 0: 09 31 or %esi,(%rcx) 2: ff 89 de e8 c7 29 decl 0x29c7e8de(%rcx) 8: 9f lahf 9: fd std a: 84 db test %bl,%bl c: 0f 85 36 ff ff ff jne 0xffffff48 12: e8 7a 23 9f fd callq 0xfd9f2391 17: 48 c7 c7 80 73 e3 89 mov $0xffffffff89e37380,%rdi 1e: c6 05 d5 90 81 09 01 movb $0x1,0x98190d5(%rip) # 0x98190fa 25: e8 e1 bc 11 05 callq 0x511bd0b 2a: 0f 0b ud2 <-- trapping instruction 2c: e9 17 ff ff ff jmpq 0xffffff48 31: e8 5b 23 9f fd callq 0xfd9f2391 36: 0f b6 1d ba 90 81 09 movzbl 0x98190ba(%rip),%ebx # 0x98190f7 3d: 31 ff xor %edi,%edi 3f: 89 .byte 0x89