====================================== | [ 2.619385] ------------[ cut here ]------------ | [ 2.619440] rcuref - imbalanced put() | [ 2.619441] WARNING: lib/rcuref.c:266 at 0x0, CPU#0: swapper/0/0 | [ 2.619518] Modules linked in: vxlan act_gact cls_flower sch_ingress [ 2.619630] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 2.619672] RIP: 0010:rcuref_put_slowpath (lib/rcuref.c:266 lib/rcuref.c:237) [ 2.619718] Code: b1 17 0f 94 c0 75 0e 5b c3 81 fe ff ff ff bf 77 12 85 f6 78 04 31 c0 5b c3 c7 03 00 00 00 a0 31 c0 5b c3 48 8d 3d 20 32 2f 01 <67> 48 0f b9 3a 31 c0 c7 03 00 00 00 e0 eb de 90 f3 0f 1e fa 48 b8 All code ======== 0: b1 17 mov $0x17,%cl 2: 0f 94 c0 sete %al 5: 75 0e jne 0x15 7: 5b pop %rbx 8: c3 ret 9: 81 fe ff ff ff bf cmp $0xbfffffff,%esi f: 77 12 ja 0x23 11: 85 f6 test %esi,%esi 13: 78 04 js 0x19 15: 31 c0 xor %eax,%eax 17: 5b pop %rbx 18: c3 ret 19: c7 03 00 00 00 a0 movl $0xa0000000,(%rbx) 1f: 31 c0 xor %eax,%eax 21: 5b pop %rbx 22: c3 ret 23: 48 8d 3d 20 32 2f 01 lea 0x12f3220(%rip),%rdi # 0x12f324a 2a:* 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction 2f: 31 c0 xor %eax,%eax 31: c7 03 00 00 00 e0 movl $0xe0000000,(%rbx) 37: eb de jmp 0x17 39: 90 nop 3a: f3 0f 1e fa endbr64 3e: 48 rex.W 3f: b8 .byte 0xb8 Code starting with the faulting instruction =========================================== 0: 67 48 0f b9 3a ud1 (%edx),%rdi 5: 31 c0 xor %eax,%eax 7: c7 03 00 00 00 e0 movl $0xe0000000,(%rbx) d: eb de jmp 0xffffffffffffffed f: 90 nop 10: f3 0f 1e fa endbr64 14: 48 rex.W 15: b8 .byte 0xb8 [ 2.619842] RSP: 0018:ffffa03500003e80 EFLAGS: 00010206 [ 2.619882] RAX: 00000000dfffffff RBX: ffff8c1946bbd280 RCX: 0000000000000002 [ 2.619938] RDX: ffffffff90a2f520 RSI: 00000000dfffffff RDI: ffffffff9187d4c0 [ 2.619997] RBP: ffff8c1946bbd240 R08: ffff8c194335bc70 R09: ffffffff901ca262 [ 2.620048] R10: ffff8c1946bbb000 R11: 00000000000003c4 R12: 0000341b12e7ddb8 [ 2.620100] R13: 0000341b12e7ddb8 R14: ffff8c197ec29c00 R15: 0000000000000000 [ 2.620153] FS: 0000000000000000(0000) GS:ffff8c19ecd85000(0000) knlGS:0000000000000000 [ 2.620216] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 2.620263] CR2: 00007f7bc0a19970 CR3: 0000000007c5a001 CR4: 0000000000772ef0 [ 2.620316] PKRU: 55555554 [ 2.620333] Call Trace: [ 2.620350] [ 2.620375] dst_release_immediate (./include/linux/rcuref.h:117 ./include/linux/rcuref.h:173 net/core/dst.c:184) [ 2.620420] rt_fibinfo_free_cpus.part.0 (net/ipv4/fib_semantics.c:190) [ 2.620461] fib_nh_common_release (net/ipv4/fib_semantics.c:207) [ 2.620501] free_fib_info_rcu (./include/net/nexthop.h:480 (discriminator 3) net/ipv4/fib_semantics.c:229 (discriminator 3)) [ 2.620531] rcu_core (kernel/rcu/tree.c:2612 kernel/rcu/tree.c:2857) [ 2.620564] ? rcu_core (kernel/rcu/tree.c:2531 kernel/rcu/tree.c:2857) [ 2.620595] handle_softirqs (./arch/x86/include/asm/jump_label.h:37 ./include/trace/events/irq.h:142 kernel/softirq.c:623) [ 2.620634] irq_exit_rcu (kernel/softirq.c:657 kernel/softirq.c:496 kernel/softirq.c:723 kernel/softirq.c:739) [ 2.620664] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1056 arch/x86/kernel/apic/apic.c:1056) [ 2.620707] [ 2.620727] [ 2.620744] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 2.620785] RIP: 0010:pv_native_safe_halt (arch/x86/kernel/paravirt.c:82) [ 2.620825] Code: 48 8b 3d 44 8d 2f 01 e8 1f 00 00 00 48 2b 05 f8 83 46 00 c3 0f 1f 80 00 00 00 00 f3 0f 1e fa eb 07 0f 00 2d 35 9b 08 00 fb f4 0f 1f 40 d6 8b 17 48 89 fe 89 d7 83 e7 fe 0f 01 f9 66 90 48 c1 All code ======== 0: 48 8b 3d 44 8d 2f 01 mov 0x12f8d44(%rip),%rdi # 0x12f8d4b 7: e8 1f 00 00 00 call 0x2b c: 48 2b 05 f8 83 46 00 sub 0x4683f8(%rip),%rax # 0x46840b 13: c3 ret 14: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 1b: f3 0f 1e fa endbr64 1f: eb 07 jmp 0x28 21: 0f 00 2d 35 9b 08 00 verw 0x89b35(%rip) # 0x89b5d 28: fb sti 29: f4 hlt 2a:* c3 ret <-- trapping instruction 2b: 0f 1f 40 d6 nopl -0x2a(%rax) 2f: 8b 17 mov (%rdi),%edx 31: 48 89 fe mov %rdi,%rsi 34: 89 d7 mov %edx,%edi 36: 83 e7 fe and $0xfffffffe,%edi 39: 0f 01 f9 rdtscp 3c: 66 90 xchg %ax,%ax 3e: 48 rex.W 3f: c1 .byte 0xc1 Code starting with the faulting instruction =========================================== 0: c3 ret 1: 0f 1f 40 d6 nopl -0x2a(%rax) 5: 8b 17 mov (%rdi),%edx 7: 48 89 fe mov %rdi,%rsi a: 89 d7 mov %edx,%edi c: 83 e7 fe and $0xfffffffe,%edi f: 0f 01 f9 rdtscp 12: 66 90 xchg %ax,%ax 14: 48 rex.W 15: c1 .byte 0xc1 [ 2.620956] RSP: 0018:ffffffff91603e78 EFLAGS: 00000216 [ 2.620989] RAX: ffff8c19ecd85000 RBX: ffffffff91611980 RCX: 0000000000000000 [ 2.621038] RDX: 0000000000000000 RSI: ffffffff90fbaf63 RDI: 0000000000032d7c [ 2.621089] RBP: 0000000000000000 R08: 0000000000032d7c R09: 0000000000000003 [ 2.621140] R10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000000 [ 2.621190] R13: 000001f3fffffc18 R14: 0000000000000000 R15: 0000000000014770 [ 2.621243] ? ct_kernel_exit.constprop.0 (kernel/context_tracking.c:146) [ 2.621280] default_idle (./arch/x86/include/asm/paravirt.h:107 arch/x86/kernel/process.c:767) [ 2.621307] default_idle_call (./include/linux/cpuidle.h:144 kernel/sched/idle.c:123) [ 2.621338] do_idle (kernel/sched/idle.c:192 kernel/sched/idle.c:332) [ 2.621363] cpu_startup_entry (kernel/sched/idle.c:429 (discriminator 1)) [ 2.621390] rest_init (init/main.c:757) [ 2.621423] start_kernel (init/main.c:655 init/main.c:938) [ 2.621460] x86_64_start_reservations (arch/x86/kernel/head64.c:298) [ 2.621492] x86_64_start_kernel (arch/x86/kernel/head64.c:234 (discriminator 5)) Finger prints: rcuref_put_slowpath:dst_release_immediate:fib_nh_common_release:free_fib_info_rcu:rcu_core