====================================== | [ 219.483155][ C0] 1 lock held by mirror_gre_brid/3087: | [ 219.483285][ C0] #0: ffffffffb3f77c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 219.483526][ C0] | [ 219.483526][ C0] stack backtrace: [ 219.483694][ C0] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 219.483697][ C0] Call Trace: [ 219.483699][ C0] [ 219.483701][ C0] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 219.483707][ C0] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 219.483711][ C0] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 219.483715][ C0] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 219.483718][ C0] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 219.483721][ C0] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 219.483725][ C0] ? save_trace (kernel/locking/lockdep.c:589) [ 219.483727][ C0] ? __noinstr_text_start (??:?) [ 219.483730][ C0] mark_lock (kernel/locking/lockdep.c:4753) [ 219.483733][ C0] mark_usage (kernel/locking/lockdep.c:4642) [ 219.483735][ C0] __lock_acquire (kernel/locking/lockdep.c:5191) [ 219.483738][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 219.483740][ C0] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 219.483746][ C0] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 219.483748][ C0] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 219.483752][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 219.483754][ C0] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 219.483757][ C0] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 219.483760][ C0] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 219.483763][ C0] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 219.483766][ C0] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 219.483769][ C0] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 219.483771][ C0] rcu_do_batch (kernel/rcu/tree.c:2617) [ 219.483775][ C0] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 219.483779][ C0] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 219.483781][ C0] ? 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) [ 219.483783][ C0] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 219.483786][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 219.483788][ C0] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 6) kernel/locking/spinlock.c:198 (discriminator 6)) [ 219.483790][ C0] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:179 (discriminator 1) kernel/locking/spinlock.c:198 (discriminator 1)) [ 219.483794][ C0] rcu_core (kernel/rcu/tree.c:2869) [ 219.483797][ C0] handle_softirqs (kernel/softirq.c:622) [ 219.483799][ C0] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 219.483803][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 219.483806][ C0] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 219.483809][ C0] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 219.483812][ C0] irq_exit_rcu (kernel/softirq.c:752) [ 219.483814][ C0] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 219.483817][ C0] [ 219.483817][ C0] [ 219.483819][ C0] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 219.483822][ C0] RIP: 0010:_raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 12) kernel/locking/spinlock.c:198 (discriminator 12)) [ 219.483825][ C0] 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 [ 219.483828][ C0] RSP: 0018:ffa00000046279c8 EFLAGS: 00000246 [ 219.483831][ C0] RAX: 0000000000000096 RBX: ff11000001155300 RCX: ffffffffb3090613 [ 219.483833][ C0] RDX: ff1100000d0e8040 RSI: ffffffffb3a01bcb RDI: ffffffffb346f6c0 [ 219.483834][ C0] RBP: 0000000000000206 R08: 0000000000000000 R09: 0000000000000000 [ 219.483836][ C0] R10: 0000000000000000 R11: 0000000000000001 R12: ff11000001155300 [ 219.483837][ C0] R13: ff11000001994340 R14: ff1100000bf44640 R15: ffd40000002fd000 [ 219.483840][ C0] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 6) kernel/locking/spinlock.c:198 (discriminator 6)) [ 219.483844][ C0] get_from_partial_node (./include/linux/spinlock.h:408 (discriminator 3) mm/slub.c:3835 (discriminator 3)) [ 219.483849][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 219.483852][ C0] ___slab_alloc (mm/slub.c:3924 (discriminator 1) mm/slub.c:4441 (discriminator 1)) [ 219.483855][ C0] ? dup_task_struct (kernel/fork.c:187 (discriminator 7) kernel/fork.c:918 (discriminator 7)) [ 219.483858][ C0] ? __pcs_replace_empty_main (mm/slub.c:4615 (discriminator 20)) [ 219.483862][ C0] kmem_cache_alloc_node_noprof (mm/slub.c:4511 mm/slub.c:4887 mm/slub.c:4951) [ 219.483865][ C0] ? dup_task_struct (kernel/fork.c:187 (discriminator 7) kernel/fork.c:918 (discriminator 7)) [ 219.483868][ C0] dup_task_struct (kernel/fork.c:187 (discriminator 7) kernel/fork.c:918 (discriminator 7)) [ 219.483870][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 219.483873][ C0] copy_process (kernel/fork.c:2090 (discriminator 1)) [ 219.483876][ C0] ? restore_fpregs_from_user (arch/x86/kernel/fpu/signal.c:300) [ 219.483879][ C0] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4040 (discriminator 3) kernel/rcu/tree.c:4032 (discriminator 3)) [ 219.483882][ C0] ? rcu_read_lock_any_held (./include/linux/lockdep.h:249 kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 219.483884][ C0] ? validate_chain (kernel/locking/lockdep.c:3801 (discriminator 2) kernel/locking/lockdep.c:3821 (discriminator 2) kernel/locking/lockdep.c:3876 (discriminator 2)) [ 219.483887][ C0] ? pidfd_prepare (./include/linux/list.h:1021 (discriminator 3)) [ 219.483891][ C0] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4040 (discriminator 3) kernel/rcu/tree.c:4032 (discriminator 3)) [ 219.483893][ C0] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4040 (discriminator 3) kernel/rcu/tree.c:4032 (discriminator 3)) [ 219.483896][ C0] ? rcu_read_lock_any_held (./include/linux/lockdep.h:249 kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 219.483899][ C0] kernel_clone (kernel/fork.c:2722) [ 219.483902][ C0] ? create_io_thread (kernel/fork.c:2660) [ 219.483905][ C0] ? __might_fault (mm/memory.c:7340 (discriminator 5)) [ 219.483908][ C0] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 219.483912][ C0] __do_sys_clone (kernel/fork.c:2863) [ 219.483915][ C0] ? kernel_clone (./include/trace/events/sched.h:396 (discriminator 19)) [ 219.483920][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 219.483923][ C0] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 219.483926][ C0] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 219.483928][ C0] ? trace_hardirqs_off (kernel/trace/trace_preemptirq.c:104 (discriminator 1)) [ 219.483930][ C0] ? exc_page_fault (arch/x86/mm/fault.c:1480 (discriminator 3) arch/x86/mm/fault.c:1527 (discriminator 3)) [ 219.483933][ C0] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) [ 219.483935][ C0] RIP: 0033:0x7f11fd4ca226 [ 219.483939][ C0] Code: 7d e0 e8 7d a4 f5 ff 45 31 c0 31 d2 31 f6 64 48 8b 04 25 10 00 00 00 bf 11 00 20 01 4c 8d 90 d0 02 00 00 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 5a 89 c3 85 c0 75 2f 64 48 8b 04 25 10 00 00 All code ======== 0: 7d e0 jge 0xffffffffffffffe2 2: e8 7d a4 f5 ff call 0xfffffffffff5a484 7: 45 31 c0 xor %r8d,%r8d a: 31 d2 xor %edx,%edx c: 31 f6 xor %esi,%esi e: 64 48 8b 04 25 10 00 mov %fs:0x10,%rax 15: 00 00 17: bf 11 00 20 01 mov $0x1200011,%edi 1c: 4c 8d 90 d0 02 00 00 lea 0x2d0(%rax),%r10 23: b8 38 00 00 00 mov $0x38,%eax 28: 0f 05 syscall 2a:* 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax <-- trapping instruction 30: 77 5a ja 0x8c 32: 89 c3 mov %eax,%ebx 34: 85 c0 test %eax,%eax 36: 75 2f jne 0x67 38: 64 fs 39: 48 rex.W 3a: 8b .byte 0x8b 3b: 04 25 add $0x25,%al 3d: 10 00 adc %al,(%rax) ... Code starting with the faulting instruction =========================================== 0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax 6: 77 5a ja 0x62 8: 89 c3 mov %eax,%ebx a: 85 c0 test %eax,%eax c: 75 2f jne 0x3d e: 64 fs f: 48 rex.W 10: 8b .byte 0x8b 11: 04 25 add $0x25,%al 13: 10 00 adc %al,(%rax) ... [ 219.483940][ C0] RSP: 002b:00007ffc53cc5ed0 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 [ 219.483943][ C0] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f11fd4ca226 [ 219.483944][ C0] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 [ 219.483946][ C0] RBP: 00007ffc53cc5ef0 R08: 0000000000000000 R09: 0000000000000030 [ 219.483947][ C0] R10: 00007f11fd407e50 R11: 0000000000000246 R12: 00005632eaa74c80 Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock