====================================== | xx__-> echo $? | 0 | xx__-> [ 56.252678][ C1] BUG: spinlock bad magic on CPU#1, ip/601 | [ 56.252973][ C1] lock: noop_qdisc+0x240/0x300, .magic: 00000000, .owner: ip/601, .owner_cpu: 1 [ 56.253429][ C1] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 56.253722][ C1] Call Trace: [ 56.253828][ C1] [ 56.253899][ C1] dump_stack_lvl (lib/dump_stack.c:122) [ 56.254042][ C1] do_raw_spin_unlock (kernel/locking/spinlock_debug.c:100 kernel/locking/spinlock_debug.c:141) [ 56.254182][ C1] _raw_spin_unlock (./arch/x86/include/asm/preempt.h:94 ./include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:186) [ 56.254322][ C1] net_tx_action (./include/net/sch_generic.h:226 ./include/net/sch_generic.h:217 ./include/net/pkt_sched.h:128 ./include/net/pkt_sched.h:124 net/core/dev.c:5323) [ 56.254460][ C1] handle_softirqs (kernel/softirq.c:554) [ 56.254595][ C1] ? dev_deactivate_many (./include/linux/bottom_half.h:33 ./include/linux/netdevice.h:4448 net/sched/sch_generic.c:571 net/sched/sch_generic.c:1363) [ 56.254732][ C1] do_softirq (kernel/softirq.c:455 kernel/softirq.c:442) [ 56.254831][ C1] [ 56.254904][ C1] [ 56.254970][ C1] __local_bh_enable_ip (kernel/softirq.c:382) [ 56.255104][ C1] dev_deactivate_many (net/sched/sch_generic.c:1356) [ 56.255239][ C1] __dev_close_many (net/core/dev.c:1547) [ 56.255371][ C1] ? __pfx___dev_close_many (net/core/dev.c:1522) [ 56.255503][ C1] ? 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) [ 56.255639][ C1] dev_close_many (net/core/dev.c:1585) [ 56.255771][ C1] ? __pfx_dev_close_many (net/core/dev.c:1575) [ 56.255903][ C1] ? find_held_lock (kernel/locking/lockdep.c:5249) [ 56.256037][ C1] unregister_netdevice_many_notify (net/core/dev.c:11321) [ 56.256205][ C1] ? __pfx___lock_release (kernel/locking/lockdep.c:5411) [ 56.256334][ C1] ? __pfx_lock_acquire.part.0 (kernel/locking/lockdep.c:5724) [ 56.256465][ C1] ? trace_lock_acquire (./include/trace/events/lock.h:24 (discriminator 52)) [ 56.256596][ C1] ? __pfx_unregister_netdevice_many_notify (net/core/dev.c:11288) [ 56.256758][ C1] ? sock_def_readable (./include/linux/rcupdate.h:336 ./include/linux/rcupdate.h:869 net/core/sock.c:3377) [ 56.256891][ C1] ? mutex_is_locked (./arch/x86/include/asm/atomic64_64.h:15 ./include/linux/atomic/atomic-arch-fallback.h:2583 ./include/linux/atomic/atomic-long.h:38 ./include/linux/atomic/atomic-instrumented.h:3189 kernel/locking/mutex.c:81 kernel/locking/mutex.c:91) [ 56.257021][ C1] ? rtnl_is_locked (net/core/rtnetlink.c:164) [ 56.257165][ C1] ? unregister_netdevice_queue (net/core/dev.c:11273) [ 56.257340][ C1] ? __pfx_unregister_netdevice_queue (net/core/dev.c:11272) [ 56.257502][ C1] ? __pfx_validate_chain (kernel/locking/lockdep.c:3824) [ 56.257632][ C1] ? __pfx_unregister_netdevice_queue (net/core/dev.c:11272) [ 56.257796][ C1] rtnl_dellink (net/core/rtnetlink.c:3254 net/core/rtnetlink.c:3304) [ 56.257927][ C1] ? 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) [ 56.258057][ C1] ? __pfx_rtnl_dellink (net/core/rtnetlink.c:3260) [ 56.258199][ C1] ? trace_contention_end (./include/trace/events/lock.h:122 (discriminator 52)) [ 56.258331][ C1] ? __mutex_lock (./arch/x86/include/asm/preempt.h:94 kernel/locking/mutex.c:618 kernel/locking/mutex.c:752) [ 56.258464][ C1] ? find_held_lock (kernel/locking/lockdep.c:5249) [ 56.258603][ C1] ? rtnetlink_rcv_msg (net/core/rtnetlink.c:6645) [ 56.258741][ C1] ? __pfx___mutex_lock (kernel/locking/mutex.c:751) [ 56.258873][ C1] ? __pfx___lock_release (kernel/locking/lockdep.c:5411) [ 56.259003][ C1] ? __pfx_lock_acquire.part.0 (kernel/locking/lockdep.c:5724) [ 56.259135][ C1] ? trace_lock_acquire (./include/trace/events/lock.h:24 (discriminator 52)) [ 56.259272][ C1] rtnetlink_rcv_msg (net/core/rtnetlink.c:6647) [ 56.259404][ C1] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6541) [ 56.259536][ C1] ? 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) [ 56.259667][ C1] ? mark_lock (kernel/locking/lockdep.c:4655 (discriminator 3)) [ 56.259769][ C1] ? __lock_acquire (kernel/locking/lockdep.c:5142) [ 56.259900][ C1] netlink_rcv_skb (net/netlink/af_netlink.c:2550) [ 56.260034][ C1] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6541) [ 56.260166][ C1] ? __pfx_netlink_rcv_skb (net/netlink/af_netlink.c:2527) [ 56.260301][ C1] ? netlink_deliver_tap (./include/linux/rcupdate.h:336 ./include/linux/rcupdate.h:869 net/netlink/af_netlink.c:340) [ 56.260436][ C1] ? netlink_deliver_tap (./include/linux/rcupdate.h:336 ./include/linux/rcupdate.h:869 ./include/net/netns/generic.h:48 net/netlink/af_netlink.c:333) [ 56.260568][ C1] netlink_unicast (net/netlink/af_netlink.c:1331 net/netlink/af_netlink.c:1357) [ 56.260700][ C1] ? __pfx_netlink_unicast (net/netlink/af_netlink.c:1342) [ 56.260833][ C1] ? find_held_lock (kernel/locking/lockdep.c:5249) [ 56.260965][ C1] netlink_sendmsg (net/netlink/af_netlink.c:1901) [ 56.261096][ C1] ? __pfx_netlink_sendmsg (net/netlink/af_netlink.c:1820) [ 56.261228][ C1] ? __might_fault (mm/memory.c:6388 mm/memory.c:6381) [ 56.261362][ C1] ? __import_iovec (lib/iov_iter.c:1263 lib/iov_iter.c:1279) [ 56.261498][ C1] ____sys_sendmsg (net/socket.c:730 net/socket.c:745 net/socket.c:2597) [ 56.261632][ C1] ? __pfx_____sys_sendmsg (net/socket.c:2543) [ 56.261765][ C1] ? __pfx_copy_msghdr_from_user (net/socket.c:2523) [ 56.261929][ C1] ? __pfx_validate_chain (kernel/locking/lockdep.c:3824) [ 56.262063][ C1] ___sys_sendmsg (net/socket.c:2653) [ 56.262195][ C1] ? __pfx____sys_sendmsg (net/socket.c:2640) [ 56.262327][ C1] ? find_held_lock (kernel/locking/lockdep.c:5249) [ 56.262459][ C1] ? __lock_release (kernel/locking/lockdep.c:5435) [ 56.262594][ C1] ? __debug_check_no_obj_freed (lib/debugobjects.c:1001) [ 56.262762][ C1] ? __pfx___lock_release (kernel/locking/lockdep.c:5411) [ 56.262893][ C1] ? __pfx_do_raw_spin_lock (kernel/locking/spinlock_debug.c:114) [ 56.263026][ C1] ? lockdep_hardirqs_on_prepare (kernel/locking/lockdep.c:4299 kernel/locking/lockdep.c:4358) [ 56.263189][ C1] ? __fget_light (./include/linux/atomic/atomic-arch-fallback.h:479 ./include/linux/atomic/atomic-instrumented.h:50 fs/file.c:1145) [ 56.263323][ C1] __sys_sendmsg (./include/linux/file.h:34 net/socket.c:2682) [ 56.263456][ C1] ? __pfx___sys_sendmsg (net/socket.c:2668) [ 56.263598][ C1] ? __virt_addr_valid (./arch/x86/include/asm/preempt.h:94 ./include/linux/rcupdate.h:953 ./include/linux/mmzone.h:2034 arch/x86/mm/physaddr.c:65) [ 56.263737][ C1] do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 56.263869][ C1] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 56.264034][ C1] RIP: 0033:0x7fa949cfe7b7 [ 56.264172][ C1] Code: 0a 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b9 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10 All code ======== 0: 0a 00 or (%rax),%al 2: f7 d8 neg %eax 4: 64 89 02 mov %eax,%fs:(%rdx) 7: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax e: eb b9 jmp 0xffffffffffffffc9 10: 0f 1f 00 nopl (%rax) 13: f3 0f 1e fa endbr64 17: 64 8b 04 25 18 00 00 mov %fs:0x18,%eax 1e: 00 1f: 85 c0 test %eax,%eax 21: 75 10 jne 0x33 23: b8 2e 00 00 00 mov $0x2e,%eax 28: 0f 05 syscall 2a:* 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax <-- trapping instruction 30: 77 51 ja 0x83 32: c3 ret 33: 48 83 ec 28 sub $0x28,%rsp 37: 89 54 24 1c mov %edx,0x1c(%rsp) 3b: 48 89 74 24 10 mov %rsi,0x10(%rsp) Code starting with the faulting instruction =========================================== 0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax 6: 77 51 ja 0x59 8: c3 ret 9: 48 83 ec 28 sub $0x28,%rsp d: 89 54 24 1c mov %edx,0x1c(%rsp) 11: 48 89 74 24 10 mov %rsi,0x10(%rsp) [ 56.264636][ C1] RSP: 002b:00007ffec3f2a578 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 56.264839][ C1] RAX: ffffffffffffffda RBX: 00007ffec3f2acb0 RCX: 00007fa949cfe7b7 [ 56.265034][ C1] RDX: 0000000000000000 RSI: 00007ffec3f2a5e0 RDI: 0000000000000005 [ 56.265232][ C1] RBP: 0000000000000002 R08: 0000000000000003 R09: 0000000000000078 [ 56.265429][ C1] R10: 00007fa949bbc4a8 R11: 0000000000000246 R12: 0000000000000002 Finger prints: do_raw_spin_unlock:_raw_spin_unlock:net_tx_action:handle_softirqs:do_softirq