------------[ cut here ]------------ refcount_t: addition on 0; use-after-free. WARNING: lib/refcount.c:25 at refcount_warn_saturate+0x9f/0x110 lib/refcount.c:25, CPU#0: syz.0.0/5327 Modules linked in: CPU: 0 UID: 0 PID: 5327 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:refcount_warn_saturate+0x9f/0x110 lib/refcount.c:25 Code: eb 66 85 db 74 3e 83 fb 01 75 4c e8 db e1 11 fd 48 8d 3d b4 e4 87 0b 67 48 0f b9 3a eb 4a e8 c8 e1 11 fd 48 8d 3d b1 e4 87 0b <67> 48 0f b9 3a eb 37 e8 b5 e1 11 fd 48 8d 3d ae e4 87 0b 67 48 0f RSP: 0018:ffffc90005587030 EFLAGS: 00010293 RAX: ffffffff84b3f238 RBX: 0000000000000002 RCX: ffff888000468000 RDX: 0000000000000000 RSI: ffffffff8f1123e0 RDI: ffffffff903bd6f0 RBP: 0000000000000000 R08: ffff888000468000 R09: 0000000000000005 R10: 0000000000000004 R11: 0000000000000000 R12: dffffc0000000000 R13: ffffc90005587510 R14: ffff888000931a00 R15: ffff888000931980 FS: 00007fa865ff56c0(0000) GS:ffff88808c87e000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f39a641f490 CR3: 0000000043f68000 CR4: 0000000000352ef0 Call Trace: __refcount_add include/linux/refcount.h:-1 [inline] __refcount_inc include/linux/refcount.h:366 [inline] refcount_inc include/linux/refcount.h:383 [inline] sock_hold include/net/sock.h:839 [inline] rxe_net_ipv4_init drivers/infiniband/sw/rxe/rxe_net.c:762 [inline] rxe_net_init+0x2c8/0x330 drivers/infiniband/sw/rxe/rxe_net.c:831 rxe_newlink+0xd3/0x1c0 drivers/infiniband/sw/rxe/rxe.c:239 nldev_newlink+0x5bc/0x650 drivers/infiniband/core/nldev.c:1812 rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline] rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline] rdma_nl_rcv+0x6d1/0xa10 drivers/infiniband/core/netlink.c:259 netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline] netlink_unicast+0x75c/0x8e0 net/netlink/af_netlink.c:1344 netlink_sendmsg+0x813/0xb40 net/netlink/af_netlink.c:1894 sock_sendmsg_nosec net/socket.c:787 [inline] __sock_sendmsg net/socket.c:802 [inline] ____sys_sendmsg+0x972/0x9f0 net/socket.c:2698 ___sys_sendmsg+0x2a5/0x360 net/socket.c:2752 __sys_sendmsg net/socket.c:2784 [inline] __do_sys_sendmsg net/socket.c:2789 [inline] __se_sys_sendmsg net/socket.c:2787 [inline] __x64_sys_sendmsg+0x1bd/0x2a0 net/socket.c:2787 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x15f/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fa869b9ce59 Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 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 e8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fa865ff4fe8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007fa869e16090 RCX: 00007fa869b9ce59 RDX: 0000000000000000 RSI: 0000200000000080 RDI: 000000000000000b RBP: 00007fa869c32d6f R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007fa869e16128 R14: 00007fa869e16090 R15: 00007ffe44c79e68 ---------------- Code disassembly (best guess): 0: eb 66 jmp 0x68 2: 85 db test %ebx,%ebx 4: 74 3e je 0x44 6: 83 fb 01 cmp $0x1,%ebx 9: 75 4c jne 0x57 b: e8 db e1 11 fd call 0xfd11e1eb 10: 48 8d 3d b4 e4 87 0b lea 0xb87e4b4(%rip),%rdi # 0xb87e4cb 17: 67 48 0f b9 3a ud1 (%edx),%rdi 1c: eb 4a jmp 0x68 1e: e8 c8 e1 11 fd call 0xfd11e1eb 23: 48 8d 3d b1 e4 87 0b lea 0xb87e4b1(%rip),%rdi # 0xb87e4db * 2a: 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction 2f: eb 37 jmp 0x68 31: e8 b5 e1 11 fd call 0xfd11e1eb 36: 48 8d 3d ae e4 87 0b lea 0xb87e4ae(%rip),%rdi # 0xb87e4eb 3d: 67 addr32 3e: 48 rex.W 3f: 0f .byte 0xf