======================================
| [ 591.623204][ C0] #2: ffffffff97b77d20 (rcu_read_lock){....}-{1:3}, at: unwind_next_frame (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:838 (discriminator 2) ./include/linux/rcupdate.h:1181 (discriminator 2) arch/x86/kernel/unwind_orc.c:495 (discriminator 2))
| [ 591.623541][ C0] #3: ffffffff97b77c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2))
| [ 591.623788][ C0]
| [ 591.623788][ C0] stack backtrace:
[ 591.623965][ C0] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[ 591.623968][ C0] Call Trace:
[ 591.623969][ C0]
[ 591.623971][ C0] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120)
[ 591.623977][ C0] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042)
[ 591.623981][ C0] ? filter_irq_stacks (kernel/stacktrace.c:402)
[ 591.623986][ C0] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267)
[ 591.623988][ C0] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37))
[ 591.623995][ C0] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697)
[ 591.623998][ C0] ? save_trace (kernel/locking/lockdep.c:589)
[ 591.624001][ C0] ? unlink_anon_vmas (./include/linux/list.h:227 (discriminator 2) ./include/linux/list.h:249 (discriminator 2) ./include/linux/list.h:260 (discriminator 2) mm/rmap.c:538 (discriminator 2))
[ 591.624006][ C0] mark_lock (kernel/locking/lockdep.c:4753)
[ 591.624009][ C0] mark_usage (kernel/locking/lockdep.c:4642)
[ 591.624011][ C0] __lock_acquire (kernel/locking/lockdep.c:5191)
[ 591.624014][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4325)
[ 591.624016][ C0] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2))
[ 591.624020][ C0] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1))
[ 591.624023][ C0] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred
[ 591.624026][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3))
[ 591.624029][ C0] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22))
[ 591.624032][ C0] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1))
[ 591.624035][ C0] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred
[ 591.624038][ C0] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred
[ 591.624041][ C0] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378)
[ 591.624044][ C0] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2))
[ 591.624046][ C0] rcu_do_batch (kernel/rcu/tree.c:2617)
[ 591.624051][ C0] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19))
[ 591.624054][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4325)
[ 591.624056][ C0] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2))
[ 591.624059][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472)
[ 591.624062][ C0] rcu_core (kernel/rcu/tree.c:2869)
[ 591.624065][ C0] handle_softirqs (kernel/softirq.c:622)
[ 591.624068][ C0] ? find_held_lock (kernel/locking/lockdep.c:5350)
[ 591.624072][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535)
[ 591.624075][ C0] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1))
[ 591.624078][ C0] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735)
[ 591.624080][ C0] irq_exit_rcu (kernel/softirq.c:752)
[ 591.624083][ C0] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37))
[ 591.624085][ C0]
[ 591.624086][ C0]
[ 591.624087][ C0] ? modify_user_hw_breakpoint_check (kernel/events/hw_breakpoint.c:788)
[ 591.624091][ C0] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697)
[ 591.624094][ C0] RIP: 0010:lock_acquire.part.0 (./arch/x86/include/asm/irqflags.h:158 (discriminator 1) kernel/locking/lockdep.c:5871 (discriminator 1))
[ 591.624097][ C0] Code: ff 65 0f c1 05 37 d9 33 04 83 f8 01 4c 8b 14 24 0f 85 30 01 00 00 9c 58 f6 c4 02 0f 85 4d 01 00 00 4d 85 d2 0f 85 16 01 00 00 <48> 8b 44 24 30 65 48 2b 05 a9 92 33 04 0f 85 43 01 00 00 48 83 c4
All code
========
0: ff 65 0f jmp *0xf(%rbp)
3: c1 05 37 d9 33 04 83 roll $0x83,0x433d937(%rip) # 0x433d941
a: f8 clc
b: 01 4c 8b 14 add %ecx,0x14(%rbx,%rcx,4)
f: 24 0f and $0xf,%al
11: 85 30 test %esi,(%rax)
13: 01 00 add %eax,(%rax)
15: 00 9c 58 f6 c4 02 0f add %bl,0xf02c4f6(%rax,%rbx,2)
1c: 85 4d 01 test %ecx,0x1(%rbp)
1f: 00 00 add %al,(%rax)
21: 4d 85 d2 test %r10,%r10
24: 0f 85 16 01 00 00 jne 0x140
2a:* 48 8b 44 24 30 mov 0x30(%rsp),%rax <-- trapping instruction
2f: 65 48 2b 05 a9 92 33 sub %gs:0x43392a9(%rip),%rax # 0x43392e0
36: 04
37: 0f 85 43 01 00 00 jne 0x180
3d: 48 rex.W
3e: 83 .byte 0x83
3f: c4 .byte 0xc4
Code starting with the faulting instruction
===========================================
0: 48 8b 44 24 30 mov 0x30(%rsp),%rax
5: 65 48 2b 05 a9 92 33 sub %gs:0x43392a9(%rip),%rax # 0x43392b6
c: 04
d: 0f 85 43 01 00 00 jne 0x156
13: 48 rex.W
14: 83 .byte 0x83
15: c4 .byte 0xc4
[ 591.624100][ C0] RSP: 0000:ffa0000000697718 EFLAGS: 00000206
[ 591.624103][ C0] RAX: 0000000000000046 RBX: 0000000000000000 RCX: eb86d55252cb3d33
[ 591.624105][ C0] RDX: 0000000000000001 RSI: ffffffff975ebde8 RDI: ffffffff9706f6c0
[ 591.624107][ C0] RBP: 0000000000000000 R08: 0000000000000001 R09: ff11000013a15180
[ 591.624108][ C0] R10: 0000000000000200 R11: 0000000000000001 R12: ffffffff97b77d20
[ 591.624109][ C0] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000002
[ 591.624114][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3))
[ 591.624117][ C0] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22))
[ 591.624120][ C0] unwind_next_frame (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:838 (discriminator 2) ./include/linux/rcupdate.h:1181 (discriminator 2) arch/x86/kernel/unwind_orc.c:495 (discriminator 2))
[ 591.624122][ C0] ? unwind_next_frame (./include/linux/rcupdate.h:300 (discriminator 2) ./include/linux/rcupdate.h:838 (discriminator 2) ./include/linux/rcupdate.h:1181 (discriminator 2) arch/x86/kernel/unwind_orc.c:495 (discriminator 2))
[ 591.624124][ C0] ? __kasan_slab_alloc (mm/kasan/common.c:340 mm/kasan/common.c:366)
[ 591.624128][ C0] ? stack_access_ok (./arch/x86/include/asm/stacktrace.h:55)
[ 591.624132][ C0] ? __unwind_start (arch/x86/kernel/unwind_orc.c:787)
[ 591.624134][ C0] ? write_profile (profile.c:?)
[ 591.624137][ C0] arch_stack_walk (arch/x86/kernel/stacktrace.c:25)
[ 591.624143][ C0] ? __kasan_slab_alloc (mm/kasan/common.c:340 mm/kasan/common.c:366)
[ 591.624146][ C0] stack_trace_save (kernel/stacktrace.c:122 (discriminator 1))
[ 591.624149][ C0] ? filter_irq_stacks (kernel/stacktrace.c:402)
[ 591.624152][ C0] ? is_bpf_text_address (./include/linux/rcupdate.h:871 kernel/bpf/core.c:749)
[ 591.624156][ C0] ? kernel_text_address (kernel/extable.c:125 kernel/extable.c:94)
[ 591.624159][ C0] ? __kernel_text_address (kernel/extable.c:79)
[ 591.624161][ C0] ? write_profile (profile.c:?)
[ 591.624164][ C0] kasan_save_stack (mm/kasan/common.c:57)
[ 591.624167][ C0] ? kasan_save_stack (mm/kasan/common.c:57)
[ 591.624170][ C0] ? kasan_save_track (mm/kasan/common.c:78)
[ 591.624173][ C0] ? __kasan_slab_alloc (mm/kasan/common.c:340 mm/kasan/common.c:366)
[ 591.624182][ C0] kasan_save_track (mm/kasan/common.c:78)
[ 591.624185][ C0] __kasan_slab_alloc (mm/kasan/common.c:340 mm/kasan/common.c:366)
[ 591.624187][ C0] kmem_cache_alloc_noprof (./include/linux/kasan.h:253 mm/slub.c:4570 mm/slub.c:4899 mm/slub.c:4906)
[ 591.624192][ C0] __anon_vma_prepare (mm/rmap.c:142 (discriminator 7) mm/rmap.c:194 (discriminator 7))
[ 591.624195][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3))
[ 591.624197][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5237)
[ 591.624200][ C0] __vmf_anon_prepare (mm/memory.c:3829)
[ 591.624203][ C0] do_pte_missing (mm/internal.h:503 mm/memory.c:5929 mm/memory.c:6045 mm/memory.c:4566)
[ 591.624205][ C0] ? rcu_read_unlock (./include/linux/rcupdate.h:867 (discriminator 5))
[ 591.624208][ C0] ? rcu_read_unlock (./include/linux/rcupdate.h:867 (discriminator 6))
[ 591.624210][ C0] __handle_mm_fault (mm/memory.c:6427 mm/memory.c:6565)
[ 591.624213][ C0] ? __pmd_alloc (./include/linux/mm.h:1682)
[ 591.624216][ C0] ? 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))
[ 591.624218][ C0] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5574)
[ 591.624224][ C0] handle_mm_fault (mm/memory.c:6734)
[ 591.624227][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3))
[ 591.624230][ C0] do_user_addr_fault (arch/x86/mm/fault.c:1334)
[ 591.624234][ C0] ? irqentry_enter (./include/linux/irq-entry-common.h:108 ./include/linux/irq-entry-common.h:293 kernel/entry/common.c:113)
[ 591.624237][ C0] exc_page_fault (arch/x86/mm/fault.c:1474 arch/x86/mm/fault.c:1527)
[ 591.624240][ C0] asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:618)
[ 591.624242][ C0] RIP: 0033:0x7f9e797be9b0
[ 591.624245][ C0] Code: 30 c3 0f 1f 84 00 00 00 00 00 66 48 0f 7e c6 83 fa 08 7d 16 83 fa 04 7d 1a 83 fa 01 7f 1c 7c 03 40 88 37 c3 66 0f 1f 44 00 00 <48> 89 37 48 89 74 17 f8 c3 89 37 89 74 17 fc c3 66 89 37 40 88 74
All code
========
0: 30 c3 xor %al,%bl
2: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
9: 00
a: 66 48 0f 7e c6 movq %xmm0,%rsi
f: 83 fa 08 cmp $0x8,%edx
12: 7d 16 jge 0x2a
14: 83 fa 04 cmp $0x4,%edx
17: 7d 1a jge 0x33
19: 83 fa 01 cmp $0x1,%edx
1c: 7f 1c jg 0x3a
1e: 7c 03 jl 0x23
20: 40 88 37 mov %sil,(%rdi)
23: c3 ret
24: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
2a:* 48 89 37 mov %rsi,(%rdi) <-- trapping instruction
2d: 48 89 74 17 f8 mov %rsi,-0x8(%rdi,%rdx,1)
32: c3 ret
33: 89 37 mov %esi,(%rdi)
35: 89 74 17 fc mov %esi,-0x4(%rdi,%rdx,1)
39: c3 ret
3a: 66 89 37 mov %si,(%rdi)
3d: 40 rex
3e: 88 .byte 0x88
3f: 74 .byte 0x74
Code starting with the faulting instruction
===========================================
0: 48 89 37 mov %rsi,(%rdi)
3: 48 89 74 17 f8 mov %rsi,-0x8(%rdi,%rdx,1)
8: c3 ret
9: 89 37 mov %esi,(%rdi)
b: 89 74 17 fc mov %esi,-0x4(%rdi,%rdx,1)
f: c3 ret
10: 66 89 37 mov %si,(%rdi)
13: 40 rex
14: 88 .byte 0x88
15: 74 .byte 0x74
[ 591.624247][ C0] RSP: 002b:00007fff298ac7d8 EFLAGS: 00010246
[ 591.624249][ C0] RAX: 00007f9e796ccff8 RBX: 00007f9e797907a0 RCX: 00007f9e796ccff8
[ 591.624251][ C0] RDX: 0000000000000008 RSI: 0000000000000000 RDI: 00007f9e796ccff8
[ 591.624252][ C0] RBP: 00007fff298acbb0 R08: 00007f9e796cd000 R09: 0000000000000003
[ 591.624253][ C0] R10: 00007f9e796cd000 R11: 0000000000000206 R12: 0000000000000003
Finger prints:
mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock