====================================== | [ 140.657441][ C0] #3: ffffffffb01a1cc0 (rcu_read_lock){....}-{1:3}, at: ip_output (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:840 (discriminator 2) net/ipv4/ip_output.c:432 (discriminator 2)) | [ 140.657622][ C0] #4: ffffffffb01a1cc0 (rcu_read_lock){....}-{1:3}, at: ip_finish_output2 (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:840 (discriminator 2) net/ipv4/ip_output.c:229 (discriminator 2)) | [ 140.657786][ C0] | [ 140.657786][ C0] stack backtrace: [ 140.657908][ C0] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 140.657910][ C0] Call Trace: [ 140.657912][ C0] [ 140.657913][ C0] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 140.657916][ C0] print_circular_bug.cold (kernel/locking/lockdep.c:2043) [ 140.657919][ C0] check_noncircular (kernel/locking/lockdep.c:2175) [ 140.657922][ C0] check_prev_add (kernel/locking/lockdep.c:3165) [ 140.657924][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 140.657926][ C0] validate_chain (kernel/locking/lockdep.c:3284 kernel/locking/lockdep.c:3908) [ 140.657928][ C0] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 140.657930][ C0] __lock_acquire (kernel/locking/lockdep.c:5237) [ 140.657932][ C0] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 140.657934][ C0] ? ___neigh_create (./include/linux/spinlock.h:348 net/core/neighbour.c:670) [ 140.657936][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 140.657938][ C0] ? lock_acquire (./include/trace/events/lock.h:23 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 140.657940][ C0] _raw_spin_lock_bh (./include/linux/spinlock_api_smp.h:150 (discriminator 1) kernel/locking/spinlock.c:182 (discriminator 1)) [ 140.657942][ C0] ? ___neigh_create (./include/linux/spinlock.h:348 net/core/neighbour.c:670) [ 140.657943][ C0] ___neigh_create (./include/linux/spinlock.h:348 net/core/neighbour.c:670) [ 140.657944][ C0] ? __rcu_read_lock (kernel/rcu/tree_plugin.h:413) [ 140.657946][ C0] ip_finish_output2 (./include/net/route.h:411 ./include/net/route.h:425 net/ipv4/ip_output.c:230) [ 140.657948][ C0] ? ip_dst_mtu_maybe_forward (./include/linux/rcupdate.h:873 ./include/net/ip.h:504) [ 140.657950][ C0] ? ip_fragment.constprop.0 (net/ipv4/ip_output.c:587 (discriminator 41)) [ 140.657951][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 140.657953][ C0] ip_output (./include/linux/netfilter.h:314 net/ipv4/ip_output.c:437) [ 140.657955][ C0] ? ip_finish_output (./include/linux/cgroup.h:868) [ 140.657957][ C0] ? __ip_make_skb (net/ipv4/ip_output.c:1386 net/ipv4/ip_output.c:1497) [ 140.657960][ C0] ip_push_pending_frames (./include/net/dst.h:470 (discriminator 4) net/ipv4/ip_output.c:131 (discriminator 4) net/ipv4/ip_output.c:1506 (discriminator 4) net/ipv4/ip_output.c:1526 (discriminator 4)) [ 140.657961][ C0] __icmp_send (net/ipv4/icmp.c:1015) [ 140.657964][ C0] ? unwind_next_frame (./include/linux/rcupdate.h:310 (discriminator 2) ./include/linux/rcupdate.h:871 (discriminator 2) ./include/linux/rcupdate.h:1183 (discriminator 2) arch/x86/kernel/unwind_orc.c:495 (discriminator 2)) [ 140.657967][ C0] ? icmpv4_global_allow (net/ipv4/icmp.c:303 (discriminator 42)) [ 140.657968][ C0] ? trace_pelt_cfs_tp (./include/trace/events/sched.h:833 (discriminator 22)) [ 140.657970][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 140.657971][ C0] ? __update_load_avg_cfs_rq (kernel/sched/pelt.c:329) [ 140.657974][ C0] ? update_cfs_rq_load_avg (kernel/sched/fair.c:5477) [ 140.657977][ C0] ? update_load_avg (kernel/sched/fair.c:5680) [ 140.657979][ C0] ? rcu_read_lock_any_held (./include/linux/lockdep.h:249 kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 140.657982][ C0] ? __trace_set_current_state (./include/linux/srcutree.h:292 (discriminator 3)) [ 140.657984][ C0] ? enqueue_task_fair (./include/linux/instrumented.h:82 ./include/asm-generic/bitops/instrumented-non-atomic.h:141 ./include/linux/cpumask.h:651 ./include/linux/cpumask.h:1253 kernel/sched/sched.h:3134 kernel/sched/sched.h:3139 kernel/sched/fair.c:7691 kernel/sched/fair.c:7915) [ 140.657986][ C0] ipv4_send_dest_unreach (net/ipv4/route.c:1282) [ 140.657988][ C0] ? ip_do_redirect (net/ipv4/route.c:864) [ 140.657990][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 140.657992][ C0] ipv4_link_failure (net/ipv4/route.c:1289) [ 140.657994][ C0] arp_error_report (./include/net/dst.h:438 net/ipv4/arp.c:299) [ 140.657995][ C0] neigh_invalidate (net/core/neighbour.c:1057) [ 140.657998][ C0] ? neigh_periodic_work (net/core/neighbour.c:973 (discriminator 3)) [ 140.657999][ C0] neigh_timer_handler (net/core/neighbour.c:1149) [ 140.658001][ C0] ? neigh_periodic_work (net/core/neighbour.c:973 (discriminator 3)) [ 140.658002][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 140.658003][ C0] call_timer_fn (kernel/time/timer.c:1748) [ 140.658005][ C0] ? detach_if_pending (./include/linux/list.h:1143) [ 140.658007][ C0] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 140.658009][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 140.658010][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 140.658012][ C0] __run_timers (kernel/time/timer.c:1799 kernel/time/timer.c:2374) [ 140.658014][ C0] ? neigh_periodic_work (net/core/neighbour.c:973 (discriminator 3)) [ 140.658016][ C0] ? __bpf_trace_itimer_expire (./include/trace/events/timer.h:407) [ 140.658018][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 140.658020][ C0] ? __rwlock_init (kernel/locking/spinlock_debug.c:48) [ 140.658023][ C0] run_timer_softirq (kernel/time/timer.c:2386 kernel/time/timer.c:2395 kernel/time/timer.c:2403) [ 140.658025][ C0] ? clockevents_program_event (kernel/time/clockevents.c:372) [ 140.658028][ C0] ? __run_timers (./include/trace/events/timer.h:138 (discriminator 19)) [ 140.658030][ C0] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 140.658032][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 140.658034][ C0] handle_softirqs (kernel/softirq.c:622) [ 140.658036][ C0] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 140.658038][ C0] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 140.658039][ C0] irq_exit_rcu (kernel/softirq.c:752) [ 140.658041][ C0] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1062 (discriminator 37) arch/x86/kernel/apic/apic.c:1062 (discriminator 37)) [ 140.658043][ C0] [ 140.658043][ C0] [ 140.658044][ C0] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 140.658046][ C0] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:674) [ 140.658048][ C0] RIP: 0010:pv_native_safe_halt (./arch/x86/include/asm/irqflags.h:48 arch/x86/kernel/paravirt.c:63) [ 140.658050][ C0] Code: 48 8b 3d 44 21 f6 01 e8 1f 00 00 00 48 2b 05 08 42 91 00 c3 0f 1f 80 00 00 00 00 f3 0f 1e fa eb 07 0f 00 2d a3 4d 0d 00 fb f4 0f 1f 40 d6 48 83 ec 20 8b 17 49 89 f8 83 e2 fe 41 89 d2 0f 01 All code ======== 0: 48 8b 3d 44 21 f6 01 mov 0x1f62144(%rip),%rdi # 0x1f6214b 7: e8 1f 00 00 00 call 0x2b c: 48 2b 05 08 42 91 00 sub 0x914208(%rip),%rax # 0x91421b 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 a3 4d 0d 00 verw 0xd4da3(%rip) # 0xd4dcb 28: fb sti 29: f4 hlt 2a:* c3 ret <-- trapping instruction 2b: 0f 1f 40 d6 nopl -0x2a(%rax) 2f: 48 83 ec 20 sub $0x20,%rsp 33: 8b 17 mov (%rdi),%edx 35: 49 89 f8 mov %rdi,%r8 38: 83 e2 fe and $0xfffffffe,%edx 3b: 41 89 d2 mov %edx,%r10d 3e: 0f .byte 0xf 3f: 01 .byte 0x1 Code starting with the faulting instruction =========================================== 0: c3 ret 1: 0f 1f 40 d6 nopl -0x2a(%rax) 5: 48 83 ec 20 sub $0x20,%rsp 9: 8b 17 mov (%rdi),%edx b: 49 89 f8 mov %rdi,%r8 e: 83 e2 fe and $0xfffffffe,%edx 11: 41 89 d2 mov %edx,%r10d 14: 0f .byte 0xf 15: 01 .byte 0x1 [ 140.658052][ C0] RSP: 0018:ffffffffafe07e18 EFLAGS: 00000292 [ 140.658054][ C0] RAX: 00000000008a0327 RBX: ffffffffafe40600 RCX: ffffffffacee6de7 [ 140.658055][ C0] RDX: ffffffffafe40600 RSI: ffffffffafc358e3 RDI: ffffffffaf67a8e0 [ 140.658056][ C0] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 [ 140.658057][ C0] R10: 0000000000000000 R11: 0000000000000001 R12: 1ffffffff5fc0fc6 [ 140.658058][ C0] R13: 0000000000000000 R14: dffffc0000000000 R15: 0000000000014770 [ 140.658059][ C0] ? cpuidle_idle_call.constprop.0 (kernel/sched/idle.c:199) [ 140.658062][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 140.658063][ C0] default_idle (./arch/x86/include/asm/paravirt.h:62 arch/x86/kernel/process.c:768) [ 140.658065][ C0] default_idle_call (kernel/sched/idle.c:122) [ 140.658067][ C0] cpuidle_idle_call.constprop.0 (kernel/sched/idle.c:199) [ 140.658068][ C0] ? arch_cpu_idle_exit+0x40/0x40 [ 140.658070][ C0] ? mark_tsc_async_resets (arch/x86/kernel/tsc_sync.c:49) [ 140.658073][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 140.658074][ C0] do_idle (kernel/sched/idle.c:355) [ 140.658076][ C0] cpu_startup_entry (kernel/sched/idle.c:454) [ 140.658078][ C0] rest_init (init/main.c:717) [ 140.658080][ C0] start_kernel (init/main.c:1175) [ 140.658081][ C0] x86_64_start_reservations (arch/x86/kernel/head64.c:310) [ 140.658083][ C0] x86_64_start_kernel (arch/x86/kernel/head64.c:291) Finger prints: check_prev_add:validate_chain:__lock_acquire:_raw_spin_lock_bh:___neigh_create