======================================
| [ 72.343100][ C2] #0: ff1100000dd46608 (vm_lock){++++}-{0:0}, at: lock_vma_under_rcu (mm/mmap_lock.c:310)
| [ 72.343410][ C2] #1: ffffffff89177c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2))
| [ 72.343641][ C2]
| [ 72.343641][ C2] stack backtrace:
[ 72.343804][ C2] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[ 72.343806][ C2] Call Trace:
[ 72.343808][ C2]
[ 72.343810][ C2] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120)
[ 72.343816][ C2] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042)
[ 72.343819][ C2] ? filter_irq_stacks (kernel/stacktrace.c:402)
[ 72.343824][ C2] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267)
[ 72.343827][ C2] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37))
[ 72.343830][ C2] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697)
[ 72.343833][ C2] ? save_trace (kernel/locking/lockdep.c:589)
[ 72.343837][ C2] mark_lock (kernel/locking/lockdep.c:4753)
[ 72.343840][ C2] mark_usage (kernel/locking/lockdep.c:4642)
[ 72.343842][ C2] __lock_acquire (kernel/locking/lockdep.c:5191)
[ 72.343844][ C2] ? mark_held_locks (kernel/locking/lockdep.c:4325)
[ 72.343846][ C2] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2))
[ 72.343851][ C2] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1))
[ 72.343853][ C2] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred
[ 72.343857][ C2] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3))
[ 72.343860][ C2] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22))
[ 72.343863][ C2] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1))
[ 72.343866][ C2] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred
[ 72.343868][ C2] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred
[ 72.343871][ C2] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378)
[ 72.343874][ C2] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2))
[ 72.343877][ C2] rcu_do_batch (kernel/rcu/tree.c:2617)
[ 72.343881][ C2] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19))
[ 72.343884][ C2] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2))
[ 72.343887][ C2] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472)
[ 72.343889][ C2] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 6) kernel/locking/spinlock.c:198 (discriminator 6))
[ 72.343891][ C2] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:179 (discriminator 1) kernel/locking/spinlock.c:198 (discriminator 1))
[ 72.343895][ C2] rcu_core (kernel/rcu/tree.c:2869)
[ 72.343898][ C2] handle_softirqs (kernel/softirq.c:622)
[ 72.343900][ C2] ? find_held_lock (kernel/locking/lockdep.c:5350)
[ 72.343904][ C2] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535)
[ 72.343906][ C2] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1))
[ 72.343910][ C2] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735)
[ 72.343912][ C2] irq_exit_rcu (kernel/softirq.c:752)
[ 72.343914][ C2] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37))
[ 72.343917][ C2]
[ 72.343918][ C2]
[ 72.343920][ C2] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697)
[ 72.343923][ C2] RIP: 0010:copy_mc_enhanced_fast_string (arch/x86/lib/copy_mc_64.S:128)
[ 72.343927][ C2] Code: 07 48 ff c6 48 ff c7 ff c9 75 f2 31 c0 c3 c1 e1 03 01 d1 89 c8 eb f6 c1 e1 03 01 d1 89 ca e9 b1 fe ff ff 90 48 89 f8 48 89 d1 a4 31 c0 c3 48 89 c8 c3 90 f3 0f 1e fa 66 90 b9 00 02 00 00 f3
All code
========
0: 07 (bad)
1: 48 ff c6 inc %rsi
4: 48 ff c7 inc %rdi
7: ff c9 dec %ecx
9: 75 f2 jne 0xfffffffffffffffd
b: 31 c0 xor %eax,%eax
d: c3 ret
e: c1 e1 03 shl $0x3,%ecx
11: 01 d1 add %edx,%ecx
13: 89 c8 mov %ecx,%eax
15: eb f6 jmp 0xd
17: c1 e1 03 shl $0x3,%ecx
1a: 01 d1 add %edx,%ecx
1c: 89 ca mov %ecx,%edx
1e: e9 b1 fe ff ff jmp 0xfffffffffffffed4
23: 90 nop
24: 48 89 f8 mov %rdi,%rax
27: 48 89 d1 mov %rdx,%rcx
2a:* f3 a4 rep movsb (%rsi),(%rdi) <-- trapping instruction
2c: 31 c0 xor %eax,%eax
2e: c3 ret
2f: 48 89 c8 mov %rcx,%rax
32: c3 ret
33: 90 nop
34: f3 0f 1e fa endbr64
38: 66 90 xchg %ax,%ax
3a: b9 00 02 00 00 mov $0x200,%ecx
3f: f3 repz
Code starting with the faulting instruction
===========================================
0: f3 a4 rep movsb (%rsi),(%rdi)
2: 31 c0 xor %eax,%eax
4: c3 ret
5: 48 89 c8 mov %rcx,%rax
8: c3 ret
9: 90 nop
a: f3 0f 1e fa endbr64
e: 66 90 xchg %ax,%ax
10: b9 00 02 00 00 mov $0x200,%ecx
15: f3 repz
[ 72.343930][ C2] RSP: 0000:ffa0000001837bc0 EFLAGS: 00000296
[ 72.343933][ C2] RAX: ff11000012fb8000 RBX: ffd40000004bee00 RCX: 0000000000001000
[ 72.343935][ C2] RDX: 0000000000001000 RSI: ff1100000d68d000 RDI: ff11000012fb8000
[ 72.343937][ C2] RBP: ffd400000035a340 R08: ffffffff882521ad R09: 0000000000000000
[ 72.343938][ C2] R10: ffe21c0001ad1c00 R11: 0000000000000000 R12: ff1100000dd46580
[ 72.343940][ C2] R13: ffd400000035a340 R14: ffa0000001837d88 R15: ffa0000001837dc8
[ 72.343942][ C2] ? copy_mc_to_kernel (./include/linux/instrumented.h:180 arch/x86/lib/copy_mc.c:74)
[ 72.343946][ C2] __wp_page_copy_user (./include/linux/highmem.h:442 mm/memory.c:3566)
[ 72.343949][ C2] ? __lock_acquire (kernel/locking/lockdep.c:5237)
[ 72.343952][ C2] wp_page_copy (mm/memory.c:3882)
[ 72.343955][ C2] ? find_held_lock (kernel/locking/lockdep.c:5350)
[ 72.343958][ C2] ? __vmf_anon_prepare (mm/memory.c:3826)
[ 72.343961][ C2] ? 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)
[ 72.343964][ C2] ? rcu_read_unlock (./include/linux/rcupdate.h:867 (discriminator 6))
[ 72.343966][ C2] ? do_wp_page (./include/linux/pgtable.h:117 mm/memory.c:4331)
[ 72.343969][ C2] __handle_mm_fault (mm/memory.c:6443 mm/memory.c:6565)
[ 72.343972][ C2] ? __pmd_alloc (./include/linux/mm.h:1682)
[ 72.343974][ C2] ? lock_vma_under_rcu (./include/linux/rcupdate.h:310 (discriminator 2) ./include/linux/rcupdate.h:869 (discriminator 2) mm/mmap_lock.c:329 (discriminator 2))
[ 72.343977][ C2] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5574)
[ 72.343983][ C2] handle_mm_fault (mm/memory.c:6734)
[ 72.343985][ C2] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3))
[ 72.343989][ C2] do_user_addr_fault (arch/x86/mm/fault.c:1334)
[ 72.343994][ C2] ? irqentry_enter (./include/linux/irq-entry-common.h:108 ./include/linux/irq-entry-common.h:293 kernel/entry/common.c:113)
[ 72.343996][ C2] exc_page_fault (arch/x86/mm/fault.c:1474 arch/x86/mm/fault.c:1527)
[ 72.343999][ C2] asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:618)
[ 72.344001][ C2] RIP: 0033:0x7fd9563eb340
[ 72.344004][ C2] Code: be b9 13 00 e8 51 f8 ff ff 90 48 39 4f 08 0f 84 d6 00 00 00 55 48 89 d0 48 89 fa 48 89 e5 48 83 ec 20 42 f6 44 01 08 01 74 50 <48> 83 61 08 fe 48 3d ff 03 00 00 76 73 48 8b 7a 18 4c 8d 42 08 4c
All code
========
0: be b9 13 00 e8 mov $0xe80013b9,%esi
5: 51 push %rcx
6: f8 clc
7: ff (bad)
8: ff 90 48 39 4f 08 call *0x84f3948(%rax)
e: 0f 84 d6 00 00 00 je 0xea
14: 55 push %rbp
15: 48 89 d0 mov %rdx,%rax
18: 48 89 fa mov %rdi,%rdx
1b: 48 89 e5 mov %rsp,%rbp
1e: 48 83 ec 20 sub $0x20,%rsp
22: 42 f6 44 01 08 01 testb $0x1,0x8(%rcx,%r8,1)
28: 74 50 je 0x7a
2a:* 48 83 61 08 fe andq $0xfffffffffffffffe,0x8(%rcx) <-- trapping instruction
2f: 48 3d ff 03 00 00 cmp $0x3ff,%rax
35: 76 73 jbe 0xaa
37: 48 8b 7a 18 mov 0x18(%rdx),%rdi
3b: 4c 8d 42 08 lea 0x8(%rdx),%r8
3f: 4c rex.WR
Code starting with the faulting instruction
===========================================
0: 48 83 61 08 fe andq $0xfffffffffffffffe,0x8(%rcx)
5: 48 3d ff 03 00 00 cmp $0x3ff,%rax
b: 76 73 jbe 0x80
d: 48 8b 7a 18 mov 0x18(%rdx),%rdi
11: 4c 8d 42 08 lea 0x8(%rdx),%r8
15: 4c rex.WR
[ 72.344006][ C2] RSP: 002b:00007ffc589af650 EFLAGS: 00010202
[ 72.344008][ C2] RAX: 0000000000000020 RBX: 000055e035408040 RCX: 000055e035408060
[ 72.344010][ C2] RDX: 00007fd95655cac0 RSI: 000055e035408040 RDI: 00007fd95655cac0
[ 72.344011][ C2] RBP: 00007ffc589af670 R08: 0000000000000020 R09: 0000000000000020
[ 72.344012][ C2] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000020
Finger prints:
mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock