======================================
| 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