====================================== | [ 45.279678][ C1] 1 lock held by ksoftirqd/1/23: | [ 45.279756][ C1] #0: ffffffff8d977c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 45.279897][ C1] | [ 45.279897][ C1] stack backtrace: [ 45.280002][ C1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 45.280004][ C1] Call Trace: [ 45.280006][ C1] [ 45.280007][ C1] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 45.280012][ C1] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 45.280015][ C1] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 45.280017][ C1] ? kthread (kernel/kthread.c:436) [ 45.280020][ C1] ? save_trace (kernel/locking/lockdep.c:589) [ 45.280021][ C1] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 45.280023][ C1] mark_lock (kernel/locking/lockdep.c:4753) [ 45.280025][ C1] mark_usage (kernel/locking/lockdep.c:4642) [ 45.280026][ C1] __lock_acquire (kernel/locking/lockdep.c:5191) [ 45.280027][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 45.280030][ C1] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 45.280032][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 45.280034][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 45.280035][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 45.280037][ C1] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 45.280039][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 45.280040][ C1] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 45.280042][ C1] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 45.280043][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 45.280045][ C1] rcu_do_batch (kernel/rcu/tree.c:2617) [ 45.280047][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 45.280049][ C1] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 45.280051][ C1] ? finish_task_switch.isra.0 (kernel/sched/sched.h:1644 kernel/sched/core.c:5125 kernel/sched/core.c:5243) [ 45.280053][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 45.280055][ C1] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 45.280058][ C1] ? trace_irq_disable.constprop.0 (./include/trace/events/preemptirq.h:36 (discriminator 22)) [ 45.280059][ C1] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 45.280061][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 45.280063][ C1] rcu_core (kernel/rcu/tree.c:2869) [ 45.280065][ C1] handle_softirqs (kernel/softirq.c:622) [ 45.280066][ C1] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 45.280070][ C1] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 45.280071][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 45.280073][ C1] run_ksoftirqd (kernel/softirq.c:1076 kernel/softirq.c:1068) [ 45.280074][ C1] smpboot_thread_fn (kernel/smpboot.c:160) [ 45.280077][ C1] ? sort_range (kernel/range.c:164) [ 45.280078][ C1] kthread (kernel/kthread.c:436) [ 45.280080][ C1] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 45.280081][ C1] ? kthread_affine_node (kernel/kthread.c:378) [ 45.280083][ C1] ret_from_fork (arch/x86/kernel/process.c:158) [ 45.280086][ C1] ? arch_exit_to_user_mode_prepare.isra.0 (arch/x86/entry/syscall_64.c:37) [ 45.280088][ C1] ? __switch_to (arch/x86/kernel/process_64.c:403 arch/x86/kernel/process_64.c:663) [ 45.280090][ C1] ? kthread_affine_node (kernel/kthread.c:378) [ 45.280092][ C1] ret_from_fork_asm (arch/x86/entry/entry_64.S:245) | [ 51.812550][ C3] RCU nest depth: 0, expected: 0 | [ 51.812634][ C3] INFO: lockdep is turned off. | [ 51.812720][ C3] Preemption disabled at: | [ 51.812721][ C3] 0x0 [ 51.812871][ C3] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 51.812873][ C3] Call Trace: [ 51.812875][ C3] [ 51.812876][ C3] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 51.812884][ C3] __might_resched.cold (kernel/sched/core.c:9163) [ 51.812887][ C3] ? process_output_block (drivers/tty/n_tty.c:557) [ 51.812892][ C3] ? perf_trace_sched_switch (./include/linux/list.h:1021 (discriminator 3)) [ 51.812896][ C3] ? new_sync_write (fs/read_write.c:595) [ 51.812899][ C3] ? ksys_write (fs/read_write.c:740) [ 51.812901][ C3] ? do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 51.812904][ C3] ? entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) [ 51.812906][ C3] __mutex_lock (kernel/locking/mutex.c:623 kernel/locking/mutex.c:820) [ 51.812908][ C3] ? __tcf_chain_put (net/sched/cls_api.c:694) [ 51.812912][ C3] ? ww_mutex_lock (kernel/locking/mutex.c:933) [ 51.812915][ C3] ? __tcf_chain_put (net/sched/cls_api.c:694) [ 51.812917][ C3] __tcf_chain_put (net/sched/cls_api.c:694) [ 51.812919][ C3] ? free_percpu.part.0 (./include/linux/spinlock.h:408 (discriminator 3) mm/percpu.c:2283 (discriminator 3)) [ 51.812922][ C3] tcf_action_rcu_free (net/sched/act_api.c:130 net/sched/act_api.c:370 net/sched/act_api.c:378) [ 51.812924][ C3] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 51.812927][ C3] rcu_do_batch (kernel/rcu/tree.c:2617) [ 51.812930][ C3] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 51.812932][ C3] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 51.812934][ C3] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 51.812937][ C3] ? trace_irq_disable.constprop.0 (./include/trace/events/preemptirq.h:36 (discriminator 22)) [ 51.812939][ C3] rcu_core (kernel/rcu/tree.c:2869) [ 51.812941][ C3] handle_softirqs (kernel/softirq.c:622) [ 51.812943][ C3] ? clockevents_tick_resume (kernel/time/clockevents.c:193) [ 51.812946][ C3] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 51.812948][ C3] ? lock_release (./include/trace/events/lock.h:69 (discriminator 22) kernel/locking/lockdep.c:5879 (discriminator 22)) [ 51.812950][ C3] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 51.812952][ C3] irq_exit_rcu (kernel/softirq.c:752) [ 51.812953][ C3] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 51.812956][ C3] [ 51.812956][ C3] [ 51.812957][ C3] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 51.812959][ C3] RIP: 0010:_raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 12) kernel/locking/spinlock.c:198 (discriminator 12)) [ 51.812962][ C3] Code: f5 53 48 8b 74 24 10 48 89 fb 48 83 c7 18 e8 21 7e ca fd 48 89 df e8 a9 d4 ca fd f7 c5 00 02 00 00 75 1f 9c 58 f6 c4 02 75 2f 01 00 00 00 e8 30 62 bd fd 65 8b 05 29 0a fe 01 85 c0 74 12 5b All code ======== 0: f5 cmc 1: 53 push %rbx 2: 48 8b 74 24 10 mov 0x10(%rsp),%rsi 7: 48 89 fb mov %rdi,%rbx a: 48 83 c7 18 add $0x18,%rdi e: e8 21 7e ca fd call 0xfffffffffdca7e34 13: 48 89 df mov %rbx,%rdi 16: e8 a9 d4 ca fd call 0xfffffffffdcad4c4 1b: f7 c5 00 02 00 00 test $0x200,%ebp 21: 75 1f jne 0x42 23: 9c pushf 24: 58 pop %rax 25: f6 c4 02 test $0x2,%ah 28: 75 2f jne 0x59 2a:* bf 01 00 00 00 mov $0x1,%edi <-- trapping instruction 2f: e8 30 62 bd fd call 0xfffffffffdbd6264 34: 65 8b 05 29 0a fe 01 mov %gs:0x1fe0a29(%rip),%eax # 0x1fe0a64 3b: 85 c0 test %eax,%eax 3d: 74 12 je 0x51 3f: 5b pop %rbx Code starting with the faulting instruction =========================================== 0: bf 01 00 00 00 mov $0x1,%edi 5: e8 30 62 bd fd call 0xfffffffffdbd623a a: 65 8b 05 29 0a fe 01 mov %gs:0x1fe0a29(%rip),%eax # 0x1fe0a3a 11: 85 c0 test %eax,%eax 13: 74 12 je 0x27 15: 5b pop %rbx [ 51.812964][ C3] RSP: 0018:ffa00000015f7a78 EFLAGS: 00000246 [ 51.812967][ C3] RAX: 0000000000000046 RBX: ffffffff907137a0 RCX: 0000000000000000 [ 51.812968][ C3] RDX: 0000000000000003 RSI: ffffffff8ce6f640 RDI: ffffffff8ca90613 [ 51.812969][ C3] RBP: 0000000000000286 R08: ffffffff8a9b3820 R09: 1ffffffff1c47d1a [ 51.812970][ C3] R10: 0000000000000003 R11: 0000000000000000 R12: ffffffff907138a8 [ 51.812971][ C3] R13: 000000000000000e R14: ffffffff907138e0 R15: ff110000019d4000 [ 51.812972][ C3] ? trace_irq_enable.constprop.0 (./include/linux/instrumented.h:82 ./include/asm-generic/bitops/instrumented-non-atomic.h:141 ./include/linux/cpumask.h:649 ./include/linux/cpumask.h:1231 ./include/trace/events/preemptirq.h:40) [ 51.812974][ C3] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 6) kernel/locking/spinlock.c:198 (discriminator 6)) [ 51.812976][ C3] uart_write (./include/linux/spinlock.h:408 (discriminator 3) ./include/linux/serial_core.h:788 (discriminator 3) drivers/tty/serial/serial_core.c:91 (discriminator 3) drivers/tty/serial/serial_core.c:88 (discriminator 3) drivers/tty/serial/serial_core.c:634 (discriminator 3)) [ 51.812979][ C3] process_output_block (drivers/tty/n_tty.c:557) [ 51.812981][ C3] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 51.812982][ C3] ? do_raw_spin_unlock (./include/linux/instrumented.h:82 ./include/linux/atomic/atomic-instrumented.h:32 ./include/asm-generic/qspinlock.h:57 kernel/locking/spinlock_debug.c:101 kernel/locking/spinlock_debug.c:141) [ 51.812985][ C3] n_tty_write (drivers/tty/n_tty.c:2366) [ 51.812987][ C3] ? n_tty_receive_signal_char (drivers/tty/n_tty.c:1188) [ 51.812989][ C3] ? _mutex_trylock_nest_lock (kernel/locking/mutex.c:1180 (discriminator 1)) [ 51.812990][ C3] ? __init_waitqueue_head (./include/linux/list.h:45 (discriminator 2)) [ 51.812997][ C3] ? do_raw_spin_unlock (./include/linux/instrumented.h:82 ./include/linux/atomic/atomic-instrumented.h:32 ./include/asm-generic/qspinlock.h:57 kernel/locking/spinlock_debug.c:101 kernel/locking/spinlock_debug.c:141) [ 51.812998][ C3] ? trace_hardirqs_on (kernel/trace/trace_preemptirq.c:78) [ 51.813000][ C3] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:179 (discriminator 1) kernel/locking/spinlock.c:198 (discriminator 1)) [ 51.813002][ C3] iterate_tty_write (drivers/tty/tty_io.c:1006) [ 51.813004][ C3] ? tty_ldisc_ref_wait (drivers/tty/tty_ldisc.c:243) [ 51.813006][ C3] file_tty_write.isra.0 (drivers/tty/tty_io.c:1081) [ 51.813007][ C3] ? redirected_tty_write (./include/linux/file_ref.h:121 (discriminator 7)) [ 51.813009][ C3] new_sync_write (fs/read_write.c:595) [ 51.813011][ C3] ? do_raw_spin_lock (./include/linux/instrumented.h:55 ./include/linux/atomic/atomic-instrumented.h:1301 ./include/asm-generic/qspinlock.h:111 kernel/locking/spinlock_debug.c:116) [ 51.813013][ C3] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 51.813014][ C3] ? timerqueue_linked_add (./include/linux/rbtree.h:239 ./include/linux/rbtree.h:281 lib/timerqueue.c:96) [ 51.813016][ C3] ? new_sync_read (./include/linux/ioprio.h:41) [ 51.813020][ C3] vfs_write (fs/read_write.c:688) [ 51.813022][ C3] ksys_write (fs/read_write.c:740) [ 51.813023][ C3] ? __ia32_sys_read (fs/read_write.c:724) [ 51.813024][ C3] ? restore_fpregs_from_fpstate (arch/x86/kernel/fpu/xstate.h:242 arch/x86/kernel/fpu/core.c:207) [ 51.813027][ C3] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 51.813029][ C3] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 51.813031][ C3] ? irq_exit_rcu (kernel/softirq.c:754) [ 51.813032][ C3] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) [ 51.813033][ C3] RIP: 0033:0x7faa08ecf08e [ 51.813035][ C3] Code: 4d 89 d8 e8 94 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 c3 83 e2 39 83 fa 08 75 e7 e8 03 ff ff ff 0f 1f 00 f3 0f 1e fa All code ======== 0: 4d 89 d8 mov %r11,%r8 3: e8 94 bd 00 00 call 0xbd9c 8: 4c 8b 5d f8 mov -0x8(%rbp),%r11 c: 41 8b 93 08 03 00 00 mov 0x308(%r11),%edx 13: 59 pop %rcx 14: 5e pop %rsi 15: 48 83 f8 fc cmp $0xfffffffffffffffc,%rax 19: 74 11 je 0x2c 1b: c9 leave 1c: c3 ret 1d: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 24: 48 8b 45 10 mov 0x10(%rbp),%rax 28: 0f 05 syscall 2a:* c9 leave <-- trapping instruction 2b: c3 ret 2c: 83 e2 39 and $0x39,%edx 2f: 83 fa 08 cmp $0x8,%edx 32: 75 e7 jne 0x1b 34: e8 03 ff ff ff call 0xffffffffffffff3c 39: 0f 1f 00 nopl (%rax) 3c: f3 0f 1e fa endbr64 Code starting with the faulting instruction =========================================== 0: c9 leave 1: c3 ret 2: 83 e2 39 and $0x39,%edx 5: 83 fa 08 cmp $0x8,%edx 8: 75 e7 jne 0xfffffffffffffff1 a: e8 03 ff ff ff call 0xffffffffffffff12 f: 0f 1f 00 nopl (%rax) 12: f3 0f 1e fa endbr64 [ 51.813036][ C3] RSP: 002b:00007fff813409e0 EFLAGS: 00000202 ORIG_RAX: 0000000000000001 [ 51.813037][ C3] RAX: ffffffffffffffda RBX: 00005560c0c5a290 RCX: 00007faa08ecf08e [ 51.813038][ C3] RDX: 000000000000000e RSI: 00005560c0c5a290 RDI: 0000000000000001 [ 51.813039][ C3] RBP: 00007fff813409f0 R08: 0000000000000000 R09: 0000000000000000 [ 51.813040][ C3] R10: 0000000000000000 R11: 0000000000000202 R12: 000000000000000e Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock __mutex_lock:__tcf_chain_put:tcf_action_rcu_free:rcu_do_batch:rcu_core