====================================== | [ 57.053030][ C1] 1 lock held by mirror_gre_nh.s/1032: | [ 57.053110][ C1] #0: ffffffffb2377c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 57.053259][ C1] | [ 57.053259][ C1] stack backtrace: [ 57.053361][ C1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 57.053363][ C1] Call Trace: [ 57.053364][ C1] [ 57.053366][ C1] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 57.053371][ C1] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 57.053373][ C1] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 57.053377][ C1] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 57.053378][ C1] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 16) arch/x86/kernel/apic/apic.c:1061 (discriminator 16)) [ 57.053381][ C1] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 57.053382][ C1] ? save_trace (kernel/locking/lockdep.c:589) [ 57.053385][ C1] mark_lock (kernel/locking/lockdep.c:4753) [ 57.053387][ C1] mark_usage (kernel/locking/lockdep.c:4642) [ 57.053388][ C1] __lock_acquire (kernel/locking/lockdep.c:5191) [ 57.053389][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 57.053392][ C1] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 57.053396][ C1] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 57.053398][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 57.053399][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 57.053401][ C1] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 57.053403][ C1] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 57.053405][ C1] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 57.053406][ C1] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 57.053408][ C1] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 57.053410][ C1] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 57.053411][ C1] rcu_do_batch (kernel/rcu/tree.c:2617) [ 57.053413][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 57.053415][ C1] ? sched_balance_softirq (kernel/sched/fair.c:13350) [ 57.053418][ C1] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 57.053420][ C1] ? sched_balance_domains (kernel/sched/fair.c:12634) [ 57.053422][ C1] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 57.053424][ C1] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 57.053425][ C1] ? trace_irq_disable.constprop.0 (./include/trace/events/preemptirq.h:36 (discriminator 22)) [ 57.053427][ C1] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 57.053428][ C1] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 57.053430][ C1] rcu_core (kernel/rcu/tree.c:2869) [ 57.053432][ C1] handle_softirqs (kernel/softirq.c:622) [ 57.053434][ C1] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 57.053437][ C1] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 57.053438][ C1] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 57.053440][ C1] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 57.053442][ C1] irq_exit_rcu (kernel/softirq.c:752) [ 57.053443][ C1] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 16) arch/x86/kernel/apic/apic.c:1061 (discriminator 16)) [ 57.053445][ C1] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 57.053447][ C1] RIP: 0033:0x560cd309a4c4 [ 57.053450][ C1] Code: 84 00 00 00 00 00 83 e8 30 3c 09 77 98 0f b6 42 01 48 83 c2 01 84 c0 75 ed b8 01 00 00 00 c3 0f 1f 80 00 00 00 00 f3 0f 1e fa <48> 85 ff 0f 84 db 00 00 00 55 48 89 e5 41 57 49 89 d7 41 56 49 89 All code ======== 0: 84 00 test %al,(%rax) 2: 00 00 add %al,(%rax) 4: 00 00 add %al,(%rax) 6: 83 e8 30 sub $0x30,%eax 9: 3c 09 cmp $0x9,%al b: 77 98 ja 0xffffffffffffffa5 d: 0f b6 42 01 movzbl 0x1(%rdx),%eax 11: 48 83 c2 01 add $0x1,%rdx 15: 84 c0 test %al,%al 17: 75 ed jne 0x6 19: b8 01 00 00 00 mov $0x1,%eax 1e: c3 ret 1f: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 26: f3 0f 1e fa endbr64 2a:* 48 85 ff test %rdi,%rdi <-- trapping instruction 2d: 0f 84 db 00 00 00 je 0x10e 33: 55 push %rbp 34: 48 89 e5 mov %rsp,%rbp 37: 41 57 push %r15 39: 49 89 d7 mov %rdx,%r15 3c: 41 56 push %r14 3e: 49 rex.WB 3f: 89 .byte 0x89 Code starting with the faulting instruction =========================================== 0: 48 85 ff test %rdi,%rdi 3: 0f 84 db 00 00 00 je 0xe4 9: 55 push %rbp a: 48 89 e5 mov %rsp,%rbp d: 41 57 push %r15 f: 49 89 d7 mov %rdx,%r15 12: 41 56 push %r14 14: 49 rex.WB 15: 89 .byte 0x89 [ 57.053452][ C1] RSP: 002b:00007ffe12e79fc8 EFLAGS: 00000246 [ 57.053454][ C1] RAX: 0000560d1248979e RBX: 0000560d1237fc10 RCX: 00007ffe12e7a23c [ 57.053455][ C1] RDX: 00007ffe12e7a244 RSI: 0000000000000000 RDI: 0000560d12489790 [ 57.053456][ C1] RBP: 00007ffe12e7a0f0 R08: 0000000000000001 R09: 000000000000005d [ 57.053457][ C1] R10: 0000000000000000 R11: 0000000000000029 R12: 0000560d1248ce10 Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock