====================================== | xx__-> [ 2753.312399] ------------[ cut here ]------------ | [ 2753.312465] rcuref - imbalanced put() | [ 2753.312466] WARNING: lib/rcuref.c:266 at rcuref_put_slowpath+0x38/0x60, CPU#1: swapper/1/0 | [ 2753.312540] Modules linked in: unix_diag netdevsim sctp vxcan can_dev xfrm_interface ipvlan nft_chain_nat xt_nat cls_matchall pktgen cls_bpf xt_conntrack drop_monitor act_gact bonding macsec ip6_gre ip_gre gre sch_htb chacha libchacha chacha20poly1305 libpoly1305 tls cls_u32 ifb xt_mark sch_ingress act_mirred cls_basic sch_fq_codel xt_policy openvswitch psample nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nsh geneve act_csum act_pedit cls_flower sch_prio ip6t_REJECT nf_reject_ipv6 ip6t_rpfilter nft_compat nf_tables vxlan mpls_gso mpls_iptunnel mpls_router xfrm_user l2tp_ip6 l2tp_eth l2tp_ip l2tp_netlink l2tp_core [last unloaded: netdevsim] [ 2753.312888] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 2753.312920] RIP: 0010:rcuref_put_slowpath (lib/rcuref.c:266 (discriminator 6) lib/rcuref.c:237 (discriminator 6)) [ 2753.312949] Code: 00 e0 f0 0f b1 0f 0f 94 c0 75 0f c3 81 fe ff ff ff bf 77 07 85 f6 78 28 31 c0 c3 48 83 ec 08 48 89 3c 24 48 8d 3d 58 ce 41 01 <67> 48 0f b9 3a 48 8b 14 24 31 c0 c7 02 00 00 00 e0 48 83 c4 08 c3 All code ======== 0: 00 e0 add %ah,%al 2: f0 0f b1 0f lock cmpxchg %ecx,(%rdi) 6: 0f 94 c0 sete %al 9: 75 0f jne 0x1a b: c3 ret c: 81 fe ff ff ff bf cmp $0xbfffffff,%esi 12: 77 07 ja 0x1b 14: 85 f6 test %esi,%esi 16: 78 28 js 0x40 18: 31 c0 xor %eax,%eax 1a: c3 ret 1b: 48 83 ec 08 sub $0x8,%rsp 1f: 48 89 3c 24 mov %rdi,(%rsp) 23: 48 8d 3d 58 ce 41 01 lea 0x141ce58(%rip),%rdi # 0x141ce82 2a:* 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction 2f: 48 8b 14 24 mov (%rsp),%rdx 33: 31 c0 xor %eax,%eax 35: c7 02 00 00 00 e0 movl $0xe0000000,(%rdx) 3b: 48 83 c4 08 add $0x8,%rsp 3f: c3 ret Code starting with the faulting instruction =========================================== 0: 67 48 0f b9 3a ud1 (%edx),%rdi 5: 48 8b 14 24 mov (%rsp),%rdx 9: 31 c0 xor %eax,%eax b: c7 02 00 00 00 e0 movl $0xe0000000,(%rdx) 11: 48 83 c4 08 add $0x8,%rsp 15: c3 ret [ 2753.313044] RSP: 0018:ff61fd8f400ecea8 EFLAGS: 00010292 [ 2753.313075] RAX: 00000000dfffffff RBX: ff39b39ec12abcc8 RCX: ff39b39ec8eb0700 [ 2753.313113] RDX: ff93fd8f3fd81108 RSI: 00000000dfffffff RDI: ffffffff96c7d850 [ 2753.313160] RBP: ff39b39ec12abc00 R08: ff39b39ec12abcc8 R09: ffffffff9543023f [ 2753.313201] R10: ffee6c7ec012ea00 R11: ff39b39ec1034180 R12: ff61fd8f400ecf38 [ 2753.313239] R13: 000000000000000a R14: 000000000000000a R15: 0000000000000000 [ 2753.313284] FS: 0000000000000000(0000) GS:ff39b39f67ac8000(0000) knlGS:0000000000000000 [ 2753.313325] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 2753.313360] CR2: 00007f0e8ca2faa0 CR3: 000000001e647004 CR4: 0000000000771ef0 [ 2753.313405] PKRU: 55555554 [ 2753.313423] Call Trace: [ 2753.313438] [ 2753.313453] dst_release (./arch/x86/include/asm/preempt.h:95 (discriminator 2) ./include/linux/rcuref.h:174 (discriminator 2) net/core/dst.c:168 (discriminator 2)) [ 2753.313479] fib6_nh_release_dsts.part.0 (net/ipv6/route.c:3748) [ 2753.313509] fib6_nh_release (net/ipv6/route.c:3729) [ 2753.313530] fib6_info_destroy_rcu (net/ipv6/ip6_fib.c:177) [ 2753.313558] rcu_core (kernel/rcu/tree.c:2624 (discriminator 1) kernel/rcu/tree.c:2869 (discriminator 1)) [ 2753.313582] ? __hrtimer_run_queues (kernel/time/hrtimer.c:1946 kernel/time/hrtimer.c:1994) [ 2753.313607] handle_softirqs (./arch/x86/include/asm/jump_label.h:37 ./include/trace/events/irq.h:142 kernel/softirq.c:623) [ 2753.313630] irq_exit_rcu (./arch/x86/include/asm/jump_label.h:37 kernel/softirq.c:738 kernel/softirq.c:752) [ 2753.313649] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 2753.313680] [ 2753.313693] [ 2753.313705] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 2753.313737] RIP: 0010:pv_native_safe_halt (arch/x86/kernel/paravirt.c:63) [ 2753.313759] Code: 48 8b 3d 74 70 2b 01 e8 1f 00 00 00 48 2b 05 b8 3f 56 00 c3 0f 1f 80 00 00 00 00 f3 0f 1e fa eb 07 0f 00 2d 45 96 10 00 fb f4 0f 1f 40 d6 8b 17 89 d6 83 e6 fe 0f 01 f9 66 90 48 c1 e2 20 48 All code ======== 0: 48 8b 3d 74 70 2b 01 mov 0x12b7074(%rip),%rdi # 0x12b707b 7: e8 1f 00 00 00 call 0x2b c: 48 2b 05 b8 3f 56 00 sub 0x563fb8(%rip),%rax # 0x563fcb 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 45 96 10 00 verw 0x109645(%rip) # 0x10966d 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: 89 d6 mov %edx,%esi 33: 83 e6 fe and $0xfffffffe,%esi 36: 0f 01 f9 rdtscp 39: 66 90 xchg %ax,%ax 3b: 48 c1 e2 20 shl $0x20,%rdx 3f: 48 rex.W Code starting with the faulting instruction =========================================== 0: c3 ret 1: 0f 1f 40 d6 nopl -0x2a(%rax) 5: 8b 17 mov (%rdi),%edx 7: 89 d6 mov %edx,%esi 9: 83 e6 fe and $0xfffffffe,%esi c: 0f 01 f9 rdtscp f: 66 90 xchg %ax,%ax 11: 48 c1 e2 20 shl $0x20,%rdx 15: 48 rex.W [ 2753.313851] RSP: 0018:ff61fd8f400a7ed0 EFLAGS: 00000206 [ 2753.313877] RAX: ff39b39f67ac8000 RBX: ff39b39ec12f9700 RCX: 0000000000000000 [ 2753.313915] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000000000a3889a4 [ 2753.313959] RBP: 0000000000000001 R08: 000000000a3889a4 R09: ff39b39f67ac8000 [ 2753.314000] R10: 0000000000000c00 R11: 0000000000000000 R12: 0000000000000000 [ 2753.314041] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [ 2753.314086] default_idle (./arch/x86/include/asm/paravirt.h:62 arch/x86/kernel/process.c:767) [ 2753.314110] default_idle_call (./include/linux/cpuidle.h:144 kernel/sched/idle.c:123) [ 2753.314136] ? arch_cpu_idle_enter (arch/x86/kernel/process.c:791) [ 2753.314164] do_idle (kernel/sched/idle.c:200 kernel/sched/idle.c:352) [ 2753.314187] cpu_startup_entry (kernel/sched/idle.c:450 (discriminator 1)) [ 2753.314208] start_secondary (arch/x86/kernel/smpboot.c:312) Finger prints: rcuref_put_slowpath:dst_release:fib6_nh_release:fib6_info_destroy_rcu:rcu_core