====================================== | [ 1.794196] ------------[ cut here ]------------ | [ 1.794239] refcount_t: underflow; use-after-free. | [ 1.794288] WARNING: CPU: 1 PID: 252 at lib/refcount.c:28 refcount_warn_saturate (lib/refcount.c:28 (discriminator 3)) | [ 1.794354] Modules linked in: [ 1.794464] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 1.794509] RIP: 0010:refcount_warn_saturate (lib/refcount.c:28 (discriminator 3)) [ 1.794549] Code: bd e8 e8 54 ba ff 90 0f 0b 90 90 c3 80 3d 00 e6 2b 01 00 75 89 c6 05 f7 e5 2b 01 01 90 48 c7 c7 f8 48 b5 bd e8 c5 54 ba ff 90 <0f> 0b 90 90 c3 80 3d db e5 2b 01 00 0f 85 62 ff ff ff c6 05 ce e5 All code ======== 0: bd e8 e8 54 ba mov $0xba54e8e8,%ebp 5: ff 90 0f 0b 90 90 call *-0x6f6ff4f1(%rax) b: c3 ret c: 80 3d 00 e6 2b 01 00 cmpb $0x0,0x12be600(%rip) # 0x12be613 13: 75 89 jne 0xffffffffffffff9e 15: c6 05 f7 e5 2b 01 01 movb $0x1,0x12be5f7(%rip) # 0x12be613 1c: 90 nop 1d: 48 c7 c7 f8 48 b5 bd mov $0xffffffffbdb548f8,%rdi 24: e8 c5 54 ba ff call 0xffffffffffba54ee 29: 90 nop 2a:* 0f 0b ud2 <-- trapping instruction 2c: 90 nop 2d: 90 nop 2e: c3 ret 2f: 80 3d db e5 2b 01 00 cmpb $0x0,0x12be5db(%rip) # 0x12be611 36: 0f 85 62 ff ff ff jne 0xffffffffffffff9e 3c: c6 .byte 0xc6 3d: 05 .byte 0x5 3e: ce (bad) 3f: e5 .byte 0xe5 Code starting with the faulting instruction =========================================== 0: 0f 0b ud2 2: 90 nop 3: 90 nop 4: c3 ret 5: 80 3d db e5 2b 01 00 cmpb $0x0,0x12be5db(%rip) # 0x12be5e7 c: 0f 85 62 ff ff ff jne 0xffffffffffffff74 12: c6 .byte 0xc6 13: 05 .byte 0x5 14: ce (bad) 15: e5 .byte 0xe5 [ 1.794686] RSP: 0018:ffffa1b84059f868 EFLAGS: 00010286 [ 1.794726] RAX: 0000000000000000 RBX: ffffa1b84059f878 RCX: 00000000ffffdfff [ 1.794779] RDX: 0000000000000000 RSI: 00000000ffffffea RDI: 0000000000000001 [ 1.794831] RBP: ffffa1b84059f370 R08: ffffffffbe35ba28 R09: 00000000ffffdfff [ 1.794883] R10: ffffffffbe27ba40 R11: ffffffffbe32ba40 R12: dead000000000122 [ 1.794937] R13: 00000000fffb729d R14: 0000000000000001 R15: ffff928883030000 [ 1.794989] FS: 00007f55c3874b80(0000) GS:ffff928900211000(0000) knlGS:0000000000000000 [ 1.795049] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 1.795098] CR2: 00007f03000f0730 CR3: 000000000304e005 CR4: 0000000000772ef0 [ 1.795162] PKRU: 55555554 [ 1.795184] Call Trace: [ 1.795205] [ 1.795227] netdev_run_todo (./include/linux/list.h:381 net/core/dev.c:11670) [ 1.795264] rtnl_dellink (net/core/rtnetlink.c:3580) [ 1.795304] ? update_load_avg (kernel/sched/fair.c:4731) [ 1.795338] ? set_next_entity (kernel/sched/fair.c:894 kernel/sched/fair.c:5476) [ 1.795371] ? finish_task_switch.isra.0 (./arch/x86/include/asm/irqflags.h:42 ./arch/x86/include/asm/irqflags.h:119 kernel/sched/sched.h:1559 kernel/sched/core.c:5073 kernel/sched/core.c:5191) [ 1.795413] ? rtnl_bridge_getlink (net/core/rtnetlink.c:3536) [ 1.795455] rtnetlink_rcv_msg (net/core/rtnetlink.c:6959) [ 1.795489] ? rtnl_calcit.isra.0 (net/core/rtnetlink.c:6861) [ 1.795530] netlink_rcv_skb (net/netlink/af_netlink.c:2550) [ 1.795565] netlink_unicast (net/netlink/af_netlink.c:1319 net/netlink/af_netlink.c:1344) [ 1.795597] ? __alloc_skb (net/core/skbuff.c:690) [ 1.795623] netlink_sendmsg (net/netlink/af_netlink.c:1894) [ 1.795650] __sys_sendto (net/socket.c:727 net/socket.c:742 net/socket.c:2244) [ 1.795686] ? handle_mm_fault (mm/memory.c:6499) [ 1.795722] ? do_user_addr_fault (arch/x86/mm/fault.c:1337) [ 1.795760] __x64_sys_sendto (net/socket.c:2251 net/socket.c:2247 net/socket.c:2247) [ 1.795787] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 1.795820] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 1.795862] RIP: 0033:0x7f55c3987120 [ 1.795897] Code: ff ff 64 89 02 eb bd 0f 1f 00 f3 0f 1e fa 41 89 ca 64 8b 04 25 18 00 00 00 85 c0 75 1d 45 31 c9 45 31 c0 b8 2c 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 68 c3 0f 1f 80 00 00 00 00 41 54 48 83 ec 20 All code ======== 0: ff (bad) 1: ff 64 89 02 jmp *0x2(%rcx,%rcx,4) 5: eb bd jmp 0xffffffffffffffc4 7: 0f 1f 00 nopl (%rax) a: f3 0f 1e fa endbr64 e: 41 89 ca mov %ecx,%r10d 11: 64 8b 04 25 18 00 00 mov %fs:0x18,%eax 18: 00 19: 85 c0 test %eax,%eax 1b: 75 1d jne 0x3a 1d: 45 31 c9 xor %r9d,%r9d 20: 45 31 c0 xor %r8d,%r8d 23: b8 2c 00 00 00 mov $0x2c,%eax 28: 0f 05 syscall 2a:* 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax <-- trapping instruction 30: 77 68 ja 0x9a 32: c3 ret 33: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 3a: 41 54 push %r12 3c: 48 83 ec 20 sub $0x20,%rsp Code starting with the faulting instruction =========================================== 0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax 6: 77 68 ja 0x70 8: c3 ret 9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 10: 41 54 push %r12 12: 48 83 ec 20 sub $0x20,%rsp [ 1.796026] RSP: 002b:00007ffc62d5b618 EFLAGS: 00000246 ORIG_RAX: 000000000000002c [ 1.796085] RAX: ffffffffffffffda RBX: 0000000000000030 RCX: 00007f55c3987120 [ 1.796139] RDX: 0000000000000030 RSI: 00007ffc62d5b620 RDI: 0000000000000005 [ 1.796201] RBP: 00000000004047d0 R08: 0000000000000000 R09: 0000000000000000 [ 1.796260] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000005 Finger prints: refcount_warn_saturate:netdev_run_todo:rtnl_dellink:rtnetlink_rcv_msg:netlink_rcv_skb