====================================== | [ 22.725159][ C3] #1: ff11000004d28378 (&mm->mmap_lock){++++}-{4:4}, at: __vmf_anon_prepare (./include/linux/mmap_lock.h:611 mm/memory.c:3826) | [ 22.725376][ C3] #2: ffffffffbc177c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 22.725544][ C3] | [ 22.725544][ C3] stack backtrace: [ 22.725714][ C3] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 22.725716][ C3] Call Trace: [ 22.725718][ C3] [ 22.725719][ C3] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 22.725724][ C3] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 22.725727][ C3] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 22.725730][ C3] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 22.725732][ C3] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 22.725734][ C3] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 22.725736][ C3] ? save_trace (kernel/locking/lockdep.c:589) [ 22.725738][ C3] ? phys_pte_init (./arch/x86/include/asm/pgtable.h:737 arch/x86/mm/init_64.c:508) [ 22.725741][ C3] mark_lock (kernel/locking/lockdep.c:4753) [ 22.725743][ C3] mark_usage (kernel/locking/lockdep.c:4642) [ 22.725744][ C3] __lock_acquire (kernel/locking/lockdep.c:5191) [ 22.725746][ C3] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 22.725747][ C3] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 22.725750][ C3] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 22.725751][ C3] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 22.725753][ C3] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 22.725755][ C3] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 22.725757][ C3] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 22.725759][ C3] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 22.725760][ C3] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 22.725762][ C3] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 22.725764][ C3] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 22.725766][ C3] rcu_do_batch (kernel/rcu/tree.c:2617) [ 22.725769][ C3] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 22.725771][ C3] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 22.725772][ C3] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 22.725774][ C3] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 6) kernel/locking/spinlock.c:198 (discriminator 6)) [ 22.725776][ C3] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:179 (discriminator 1) kernel/locking/spinlock.c:198 (discriminator 1)) [ 22.725778][ C3] rcu_core (kernel/rcu/tree.c:2869) [ 22.725780][ C3] handle_softirqs (kernel/softirq.c:622) [ 22.725781][ C3] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 22.725784][ C3] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 22.725786][ C3] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 22.725788][ C3] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 22.725789][ C3] irq_exit_rcu (kernel/softirq.c:752) [ 22.725791][ C3] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 22.725793][ C3] [ 22.725793][ C3] [ 22.725794][ C3] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 22.725796][ C3] RIP: 0010:lock_is_held_type (./arch/x86/include/asm/irqflags.h:42 ./arch/x86/include/asm/irqflags.h:119 ./arch/x86/include/asm/irqflags.h:159 kernel/locking/lockdep.c:5942) [ 22.725799][ C3] Code: ff ff ff 65 0f c1 15 22 ce 00 02 83 fa 01 8b 44 24 04 75 55 9c 5a 80 e6 02 75 6f 41 f7 c6 00 02 00 00 74 2c fb 48 8b 5c 24 08 <4c> 8b 74 24 28 4c 8b 7c 24 30 48 8b 6c 24 10 48 83 c4 38 c3 b8 ff All code ======== 0: ff (bad) 1: ff (bad) 2: ff 65 0f jmp *0xf(%rbp) 5: c1 15 22 ce 00 02 83 rcll $0x83,0x200ce22(%rip) # 0x200ce2e c: fa cli d: 01 8b 44 24 04 75 add %ecx,0x75042444(%rbx) 13: 55 push %rbp 14: 9c pushf 15: 5a pop %rdx 16: 80 e6 02 and $0x2,%dh 19: 75 6f jne 0x8a 1b: 41 f7 c6 00 02 00 00 test $0x200,%r14d 22: 74 2c je 0x50 24: fb sti 25: 48 8b 5c 24 08 mov 0x8(%rsp),%rbx 2a:* 4c 8b 74 24 28 mov 0x28(%rsp),%r14 <-- trapping instruction 2f: 4c 8b 7c 24 30 mov 0x30(%rsp),%r15 34: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp 39: 48 83 c4 38 add $0x38,%rsp 3d: c3 ret 3e: b8 .byte 0xb8 3f: ff .byte 0xff Code starting with the faulting instruction =========================================== 0: 4c 8b 74 24 28 mov 0x28(%rsp),%r14 5: 4c 8b 7c 24 30 mov 0x30(%rsp),%r15 a: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp f: 48 83 c4 38 add $0x38,%rsp 13: c3 ret 14: b8 .byte 0xb8 15: ff .byte 0xff [ 22.725801][ C3] RSP: 0000:ffa0000000557b30 EFLAGS: 00000206 [ 22.725803][ C3] RAX: 0000000000000000 RBX: 1ff40000000aaf6f RCX: 0000000000000000 [ 22.725804][ C3] RDX: 0000000000000046 RSI: ffffffffbbbebde8 RDI: ffffffffbb66f6c0 [ 22.725805][ C3] RBP: ff11000004be0040 R08: 0000000000000001 R09: 0000000000000658 [ 22.725806][ C3] R10: 0000000000000003 R11: ffe21c0000943890 R12: dffffc0000000000 [ 22.725807][ C3] R13: ff11000004d282d0 R14: 0000000000000246 R15: 00000000ffffffff [ 22.725810][ C3] __might_resched (./include/linux/lockdep.h:249 kernel/sched/core.c:9125) [ 22.725813][ C3] ? perf_trace_sched_switch (./include/linux/list.h:1021 (discriminator 3)) [ 22.725815][ C3] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 22.725817][ C3] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 22.725819][ C3] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 6) kernel/locking/spinlock.c:198 (discriminator 6)) [ 22.725820][ C3] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 22.725822][ C3] down_write (kernel/locking/rwsem.c:1624) [ 22.725823][ C3] ? rwsem_down_write_slowpath (./include/linux/list.h:159) [ 22.725825][ C3] ? kmem_cache_alloc_noprof (mm/slub.c:4909 (discriminator 1)) [ 22.725829][ C3] __anon_vma_prepare (mm/internal.h:221 mm/rmap.c:208) [ 22.725832][ C3] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 22.725834][ C3] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 22.725835][ C3] __vmf_anon_prepare (mm/memory.c:3829) [ 22.725837][ C3] do_pte_missing (mm/internal.h:503 mm/memory.c:5929 mm/memory.c:6045 mm/memory.c:4566) [ 22.725839][ C3] ? rcu_read_unlock (./include/linux/rcupdate.h:867 (discriminator 5)) [ 22.725841][ C3] ? rcu_read_unlock (./include/linux/rcupdate.h:867 (discriminator 6)) [ 22.725842][ C3] __handle_mm_fault (mm/memory.c:6427 mm/memory.c:6565) [ 22.725844][ C3] ? __pmd_alloc (./include/linux/mm.h:1682) [ 22.725845][ C3] ? 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)) [ 22.725847][ C3] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5574) [ 22.725850][ C3] handle_mm_fault (mm/memory.c:6734) [ 22.725852][ C3] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 22.725854][ C3] do_user_addr_fault (arch/x86/mm/fault.c:1334) [ 22.725857][ C3] ? irqentry_enter (./include/linux/irq-entry-common.h:108 ./include/linux/irq-entry-common.h:293 kernel/entry/common.c:113) [ 22.725858][ C3] exc_page_fault (arch/x86/mm/fault.c:1474 arch/x86/mm/fault.c:1527) [ 22.725860][ C3] asm_exc_page_fault (./arch/x86/include/asm/idtentry.h:618) [ 22.725862][ C3] RIP: 0033:0x7f7309b2d918 [ 22.725868][ C3] Code: 00 00 f3 0f 1e fa 66 0f 6e c6 48 89 f8 66 0f 60 c0 66 0f 61 c0 66 0f 70 c0 00 48 83 fa 10 0f 82 7e 00 00 00 48 83 fa 20 77 12 <0f> 11 44 17 f0 0f 11 07 c3 0f 11 47 e0 0f 11 47 f0 c3 0f 11 07 0f All code ======== 0: 00 00 add %al,(%rax) 2: f3 0f 1e fa endbr64 6: 66 0f 6e c6 movd %esi,%xmm0 a: 48 89 f8 mov %rdi,%rax d: 66 0f 60 c0 punpcklbw %xmm0,%xmm0 11: 66 0f 61 c0 punpcklwd %xmm0,%xmm0 15: 66 0f 70 c0 00 pshufd $0x0,%xmm0,%xmm0 1a: 48 83 fa 10 cmp $0x10,%rdx 1e: 0f 82 7e 00 00 00 jb 0xa2 24: 48 83 fa 20 cmp $0x20,%rdx 28: 77 12 ja 0x3c 2a:* 0f 11 44 17 f0 movups %xmm0,-0x10(%rdi,%rdx,1) <-- trapping instruction 2f: 0f 11 07 movups %xmm0,(%rdi) 32: c3 ret 33: 0f 11 47 e0 movups %xmm0,-0x20(%rdi) 37: 0f 11 47 f0 movups %xmm0,-0x10(%rdi) 3b: c3 ret 3c: 0f 11 07 movups %xmm0,(%rdi) 3f: 0f .byte 0xf Code starting with the faulting instruction =========================================== 0: 0f 11 44 17 f0 movups %xmm0,-0x10(%rdi,%rdx,1) 5: 0f 11 07 movups %xmm0,(%rdi) 8: c3 ret 9: 0f 11 47 e0 movups %xmm0,-0x20(%rdi) d: 0f 11 47 f0 movups %xmm0,-0x10(%rdi) 11: c3 ret 12: 0f 11 07 movups %xmm0,(%rdi) 15: 0f .byte 0xf [ 22.725870][ C3] RSP: 002b:00007ffe813ac418 EFLAGS: 00010283 [ 22.725871][ C3] RAX: 00007f7309a33030 RBX: 00007f7309a34000 RCX: 00007f7309a33030 [ 22.725872][ C3] RDX: 0000000000000018 RSI: 0000000000000000 RDI: 00007f7309a33030 [ 22.725872][ C3] RBP: 00007ffe813ac860 R08: 00007f7309a34000 R09: 0000000000000003 [ 22.725873][ C3] R10: 00007f7309a33048 R11: 0000000000000206 R12: 0000000000000003 Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock