====================================== | xx__-> echo $? | 0 | xx__-> [ 88.376064][ C2] BUG: spinlock bad magic on CPU#2, swapper/2/0 | [ 88.376290][ C2] lock: noop_qdisc+0x240/0x300, .magic: 00000000, .owner: swapper/2/0, .owner_cpu: 2 [ 88.376791][ C2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 88.377114][ C2] Call Trace: [ 88.377231][ C2] [ 88.377317][ C2] dump_stack_lvl (lib/dump_stack.c:122) [ 88.377470][ C2] do_raw_spin_unlock (kernel/locking/spinlock_debug.c:100 kernel/locking/spinlock_debug.c:141) [ 88.377623][ C2] _raw_spin_unlock (./arch/x86/include/asm/preempt.h:94 ./include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:186) [ 88.377774][ C2] __dev_xmit_skb (./include/net/sch_generic.h:226 ./include/net/sch_generic.h:217 net/core/dev.c:3879) [ 88.377925][ C2] ? __pfx___dev_xmit_skb (net/core/dev.c:3784) [ 88.378068][ C2] ? __dev_queue_xmit (./include/linux/bottom_half.h:20 ./include/linux/rcupdate.h:890 net/core/dev.c:4348) [ 88.378223][ C2] ? lock_acquire (kernel/locking/lockdep.c:5732) [ 88.378369][ C2] ? __dev_queue_xmit (./include/linux/bottom_half.h:20 ./include/linux/rcupdate.h:890 net/core/dev.c:4348) [ 88.378508][ C2] __dev_queue_xmit (net/core/dev.c:4389) [ 88.378659][ C2] ? __lock_release (kernel/locking/lockdep.c:5435) [ 88.378796][ C2] ? ip6_finish_output2 (./include/net/neighbour.h:542 net/ipv6/ip6_output.c:137) [ 88.378944][ C2] ? __pfx___lock_release (kernel/locking/lockdep.c:5411) [ 88.379084][ C2] ? __pfx___dev_queue_xmit (net/core/dev.c:4332) [ 88.379221][ C2] ? mark_held_locks (kernel/locking/lockdep.c:4273) [ 88.379368][ C2] ? eth_header (net/ethernet/eth.c:100) [ 88.379512][ C2] ? neigh_resolve_output (./include/linux/netdevice.h:3159 net/core/neighbour.c:1560 net/core/neighbour.c:1545) [ 88.379672][ C2] ip6_finish_output2 (./include/net/neighbour.h:542 net/ipv6/ip6_output.c:137) [ 88.379813][ C2] ip6_finish_output (net/ipv6/ip6_output.c:211 net/ipv6/ip6_output.c:222) [ 88.379956][ C2] ? ip6_local_out (net/ipv6/output_core.c:154) [ 88.380129][ C2] ip6_send_skb (net/ipv6/ip6_output.c:1960) [ 88.380270][ C2] icmp6_send (net/ipv6/icmp.c:624) [ 88.380414][ C2] ? __pfx_icmp6_send (net/ipv6/icmp.c:448) [ 88.380558][ C2] ? __pfx_validate_chain (kernel/locking/lockdep.c:3824) [ 88.380698][ C2] ? hlock_class (./arch/x86/include/asm/bitops.h:227 ./arch/x86/include/asm/bitops.h:239 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 kernel/locking/lockdep.c:227) [ 88.380853][ C2] ? __pfx___lock_release (kernel/locking/lockdep.c:5411) [ 88.381000][ C2] ? lock_acquire.part.0 (kernel/locking/lockdep.c:466 kernel/locking/lockdep.c:5761) [ 88.381145][ C2] ? ip6_link_failure (./include/linux/skbuff.h:1141 net/ipv6/route.c:2801) [ 88.381285][ C2] ip6_link_failure (./include/linux/skbuff.h:1141 net/ipv6/route.c:2801) [ 88.381426][ C2] ndisc_error_report (./include/net/dst.h:429 net/ipv6/ndisc.c:731) [ 88.381574][ C2] neigh_invalidate (net/core/neighbour.c:1061) [ 88.381715][ C2] neigh_timer_handler (net/core/neighbour.c:1162 (discriminator 2)) [ 88.381859][ C2] ? __pfx_neigh_timer_handler (net/core/neighbour.c:1085) [ 88.382002][ C2] call_timer_fn (kernel/time/timer.c:1792) [ 88.382146][ C2] ? call_timer_fn (./include/linux/lockdep.h:31 kernel/time/timer.c:1782) [ 88.382284][ C2] ? call_timer_fn (./include/linux/lockdep.h:31 kernel/time/timer.c:1782) [ 88.382421][ C2] ? __pfx_call_timer_fn (kernel/time/timer.c:1769) [ 88.382559][ C2] ? mark_lock (kernel/locking/lockdep.c:4655 (discriminator 3)) [ 88.382670][ C2] __run_timers (kernel/time/timer.c:1844 kernel/time/timer.c:2417) [ 88.382807][ C2] ? __pfx_neigh_timer_handler (net/core/neighbour.c:1085) [ 88.382950][ C2] ? __pfx___run_timers (kernel/time/timer.c:2388) [ 88.383090][ C2] ? do_raw_spin_lock (./arch/x86/include/asm/atomic.h:107 ./include/linux/atomic/atomic-arch-fallback.h:2170 ./include/linux/atomic/atomic-instrumented.h:1302 ./include/asm-generic/qspinlock.h:111 kernel/locking/spinlock_debug.c:116) [ 88.383236][ C2] ? __pfx_do_raw_spin_lock (kernel/locking/spinlock_debug.c:114) [ 88.383374][ C2] ? lock_acquire (kernel/locking/lockdep.c:5732) [ 88.383523][ C2] ? run_timer_softirq (kernel/time/timer.c:2428 kernel/time/timer.c:2421 kernel/time/timer.c:2437 kernel/time/timer.c:2447) [ 88.383667][ C2] run_timer_softirq (kernel/time/timer.c:2429 kernel/time/timer.c:2421 kernel/time/timer.c:2437 kernel/time/timer.c:2447) [ 88.383821][ C2] handle_softirqs (kernel/softirq.c:554) [ 88.383969][ C2] irq_exit_rcu (kernel/softirq.c:589 kernel/softirq.c:428 kernel/softirq.c:637 kernel/softirq.c:649) [ 88.384083][ C2] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1043 arch/x86/kernel/apic/apic.c:1043) [ 88.384227][ C2] [ 88.384305][ C2] [ 88.384379][ C2] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:702) [ 88.384578][ C2] RIP: 0010:default_idle (./arch/x86/include/asm/irqflags.h:37 ./arch/x86/include/asm/irqflags.h:92 arch/x86/kernel/process.c:743) [ 88.384726][ C2] Code: 4c 01 c7 4c 29 c2 e9 72 ff ff ff 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 66 90 0f 00 2d e3 e9 46 00 fb f4 c3 cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 All code ======== 0: 4c 01 c7 add %r8,%rdi 3: 4c 29 c2 sub %r8,%rdx 6: e9 72 ff ff ff jmp 0xffffffffffffff7d b: 90 nop c: 90 nop d: 90 nop e: 90 nop f: 90 nop 10: 90 nop 11: 90 nop 12: 90 nop 13: 90 nop 14: 90 nop 15: 90 nop 16: 90 nop 17: 90 nop 18: 90 nop 19: 90 nop 1a: 90 nop 1b: f3 0f 1e fa endbr64 1f: 66 90 xchg %ax,%ax 21: 0f 00 2d e3 e9 46 00 verw 0x46e9e3(%rip) # 0x46ea0b 28: fb sti 29: f4 hlt 2a:* fa cli <-- trapping instruction 2b: c3 ret 2c: cc int3 2d: cc int3 2e: cc int3 2f: cc int3 30: 66 66 2e 0f 1f 84 00 data16 cs nopw 0x0(%rax,%rax,1) 37: 00 00 00 00 3b: 90 nop 3c: 90 nop 3d: 90 nop 3e: 90 nop 3f: 90 nop Code starting with the faulting instruction =========================================== 0: fa cli 1: c3 ret 2: cc int3 3: cc int3 4: cc int3 5: cc int3 6: 66 66 2e 0f 1f 84 00 data16 cs nopw 0x0(%rax,%rax,1) d: 00 00 00 00 11: 90 nop 12: 90 nop 13: 90 nop 14: 90 nop 15: 90 nop [ 88.385237][ C2] RSP: 0018:ffffc9000016fdf8 EFLAGS: 00000246 [ 88.385420][ C2] RAX: 00000000002a0047 RBX: 1ffff9200002dfc1 RCX: ffffffffa5df2795 [ 88.385647][ C2] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffa36a6984 [ 88.385859][ C2] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1005ee70a0 [ 88.386075][ C2] R10: ffff88802f738503 R11: ffff88802f72d9f0 R12: 0000000000000000 [ 88.386289][ C2] R13: ffff888001ba8040 R14: dffffc0000000000 R15: 0000000000000000 [ 88.386497][ C2] ? ct_kernel_exit.constprop.0 (kernel/context_tracking.c:147) [ 88.386640][ C2] ? cpuidle_idle_call (kernel/sched/idle.c:186) [ 88.386789][ C2] default_idle_call (./include/linux/cpuidle.h:143 kernel/sched/idle.c:118) [ 88.386930][ C2] cpuidle_idle_call (kernel/sched/idle.c:186) [ 88.387080][ C2] ? __pfx_cpuidle_idle_call (kernel/sched/idle.c:168) [ 88.387222][ C2] ? tsc_verify_tsc_adjust (arch/x86/kernel/tsc_sync.c:59) [ 88.387369][ C2] do_idle (kernel/sched/idle.c:326) [ 88.387476][ C2] cpu_startup_entry (kernel/sched/idle.c:423 (discriminator 1)) [ 88.387617][ C2] start_secondary (arch/x86/kernel/smpboot.c:201 arch/x86/kernel/smpboot.c:281) [ 88.387763][ C2] ? __pfx_start_secondary (arch/x86/kernel/smpboot.c:231) Finger prints: do_raw_spin_unlock:_raw_spin_unlock:__dev_xmit_skb:__dev_queue_xmit:ip6_finish_output2