====================================== | [ 1242.073641][ C2] #3: ffffffffb0b77d20 (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)) | [ 1242.073805][ C2] #4: ffffffffb0b77c00 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:300 (discriminator 2) kernel/rcu/tree.c:2611 (discriminator 2)) | [ 1242.073968][ C2] | [ 1242.073968][ C2] stack backtrace: [ 1242.074085][ C2] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 1242.074087][ C2] Call Trace: [ 1242.074088][ C2] [ 1242.074089][ C2] dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) [ 1242.074095][ C2] print_usage_bug.part.0.cold (kernel/locking/lockdep.c:4042) [ 1242.074097][ C2] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 1242.074101][ C2] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4056 kernel/locking/lockdep.c:4267) [ 1242.074103][ C2] ? sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 1242.074105][ C2] ? asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 1242.074107][ C2] ? save_trace (kernel/locking/lockdep.c:589) [ 1242.074108][ C2] ? migrate_vma_insert_page.isra.0 (mm/migrate_device.c:1055) [ 1242.074113][ C2] mark_lock (kernel/locking/lockdep.c:4753) [ 1242.074115][ C2] mark_usage (kernel/locking/lockdep.c:4642) [ 1242.074116][ C2] __lock_acquire (kernel/locking/lockdep.c:5191) [ 1242.074117][ C2] ? mark_held_locks (kernel/locking/lockdep.c:4325) [ 1242.074119][ C2] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 1242.074121][ C2] lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 1242.074123][ C2] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 1242.074125][ C2] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 1242.074127][ C2] ? lock_acquire (./include/trace/events/lock.h:24 (discriminator 22) kernel/locking/lockdep.c:5831 (discriminator 22)) [ 1242.074129][ C2] _raw_spin_lock (./include/linux/spinlock_api_smp.h:158 (discriminator 1) kernel/locking/spinlock.c:158 (discriminator 1)) [ 1242.074131][ C2] ? tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 1242.074132][ C2] tcf_mirred_release (./include/linux/spinlock.h:342 net/sched/act_mirred.c:78) act_mirred [ 1242.074134][ C2] tcf_action_rcu_free (net/sched/act_api.c:367 net/sched/act_api.c:378) [ 1242.074135][ C2] ? rcu_do_batch (./include/linux/rcupdate.h:310 (discriminator 2) kernel/rcu/tree.c:2619 (discriminator 2)) [ 1242.074137][ C2] rcu_do_batch (kernel/rcu/tree.c:2617) [ 1242.074140][ C2] ? trace_rcu_batch_end (./include/trace/events/rcu.h:714 (discriminator 19)) [ 1242.074142][ C2] ? lockdep_hardirqs_on_prepare.part.0 (kernel/locking/lockdep.c:470 (discriminator 2) kernel/locking/lockdep.c:4411 (discriminator 2)) [ 1242.074143][ C2] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4472) [ 1242.074145][ C2] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:178 (discriminator 6) kernel/locking/spinlock.c:198 (discriminator 6)) [ 1242.074146][ C2] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:179 (discriminator 1) kernel/locking/spinlock.c:198 (discriminator 1)) [ 1242.074148][ C2] rcu_core (kernel/rcu/tree.c:2869) [ 1242.074150][ C2] handle_softirqs (kernel/softirq.c:622) [ 1242.074151][ C2] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 1242.074154][ C2] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 1242.074155][ C2] ? _local_bh_enable (kernel/softirq.c:405 (discriminator 1)) [ 1242.074158][ C2] __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) [ 1242.074159][ C2] irq_exit_rcu (kernel/softirq.c:752) [ 1242.074160][ C2] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 37) arch/x86/kernel/apic/apic.c:1061 (discriminator 37)) [ 1242.074162][ C2] [ 1242.074163][ C2] [ 1242.074163][ C2] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:697) [ 1242.074165][ C2] RIP: 0010:lock_release (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:109 ./arch/x86/include/asm/irqflags.h:127 kernel/locking/lockdep.c:5885 kernel/locking/lockdep.c:5875) [ 1242.074168][ C2] Code: 85 d2 0f 85 84 00 00 00 65 48 8b 05 c0 8b 33 04 8b 80 ec 0a 00 00 85 c0 75 72 48 81 3b a0 1d cc b1 74 69 4c 89 7c 24 18 9c 58 <49> 89 c7 fa 48 c7 c7 cd 44 63 b0 e8 46 16 33 02 4c 89 f6 48 89 df All code ======== 0: 85 d2 test %edx,%edx 2: 0f 85 84 00 00 00 jne 0x8c 8: 65 48 8b 05 c0 8b 33 mov %gs:0x4338bc0(%rip),%rax # 0x4338bd0 f: 04 10: 8b 80 ec 0a 00 00 mov 0xaec(%rax),%eax 16: 85 c0 test %eax,%eax 18: 75 72 jne 0x8c 1a: 48 81 3b a0 1d cc b1 cmpq $0xffffffffb1cc1da0,(%rbx) 21: 74 69 je 0x8c 23: 4c 89 7c 24 18 mov %r15,0x18(%rsp) 28: 9c pushf 29: 58 pop %rax 2a:* 49 89 c7 mov %rax,%r15 <-- trapping instruction 2d: fa cli 2e: 48 c7 c7 cd 44 63 b0 mov $0xffffffffb06344cd,%rdi 35: e8 46 16 33 02 call 0x2331680 3a: 4c 89 f6 mov %r14,%rsi 3d: 48 89 df mov %rbx,%rdi Code starting with the faulting instruction =========================================== 0: 49 89 c7 mov %rax,%r15 3: fa cli 4: 48 c7 c7 cd 44 63 b0 mov $0xffffffffb06344cd,%rdi b: e8 46 16 33 02 call 0x2331656 10: 4c 89 f6 mov %r14,%rsi 13: 48 89 df mov %rbx,%rdi [ 1242.074169][ C2] RSP: 0018:ffa0000002167310 EFLAGS: 00000202 [ 1242.074171][ C2] RAX: 0000000000000202 RBX: ffffffffb0b77d20 RCX: 0000000000000001 [ 1242.074172][ C2] RDX: 0000000000000000 RSI: ffffffffb006f640 RDI: ffffffffb069e950 [ 1242.074173][ C2] RBP: ffa00000021677c0 R08: ffffffffb178bb48 R09: ffffffffb1547e9c [ 1242.074174][ C2] R10: 0000000000000002 R11: 0000000000000011 R12: ffa0000002167701 [ 1242.074175][ C2] R13: ffa0000002167438 R14: ffffffffad74a6e1 R15: 0000000000000000 [ 1242.074176][ C2] ? unwind_next_frame (./include/linux/rcupdate.h:310 (discriminator 2) ./include/linux/rcupdate.h:869 (discriminator 2) ./include/linux/rcupdate.h:1181 (discriminator 2) arch/x86/kernel/unwind_orc.c:495 (discriminator 2)) [ 1242.074179][ C2] unwind_next_frame (./include/linux/rcupdate.h:310 (discriminator 2) ./include/linux/rcupdate.h:869 (discriminator 2) ./include/linux/rcupdate.h:1181 (discriminator 2) arch/x86/kernel/unwind_orc.c:495 (discriminator 2)) [ 1242.074180][ C2] ? __kasan_slab_alloc (mm/kasan/common.c:340 mm/kasan/common.c:366) [ 1242.074182][ C2] ? __lock_release.isra.0 (kernel/locking/lockdep.c:5535) [ 1242.074183][ C2] ? stack_access_ok (./arch/x86/include/asm/stacktrace.h:55) [ 1242.074185][ C2] ? __unwind_start (arch/x86/kernel/unwind_orc.c:787) [ 1242.074187][ C2] ? write_profile (profile.c:?) [ 1242.074188][ C2] arch_stack_walk (arch/x86/kernel/stacktrace.c:25) [ 1242.074192][ C2] ? kmem_cache_alloc_noprof (./include/linux/kasan.h:253 mm/slub.c:4570 mm/slub.c:4899 mm/slub.c:4906) [ 1242.074196][ C2] stack_trace_save (kernel/stacktrace.c:122 (discriminator 1)) [ 1242.074198][ C2] ? filter_irq_stacks (kernel/stacktrace.c:402) [ 1242.074200][ C2] kasan_save_stack (mm/kasan/common.c:57) [ 1242.074203][ C2] ? kasan_save_stack (mm/kasan/common.c:57) [ 1242.074204][ C2] ? kasan_save_track (mm/kasan/common.c:78) [ 1242.074206][ C2] ? __kasan_slab_alloc (mm/kasan/common.c:340 mm/kasan/common.c:366) [ 1242.074211][ C2] kasan_save_track (mm/kasan/common.c:78) [ 1242.074213][ C2] __kasan_slab_alloc (mm/kasan/common.c:340 mm/kasan/common.c:366) [ 1242.074214][ C2] kmem_cache_alloc_noprof (./include/linux/kasan.h:253 mm/slub.c:4570 mm/slub.c:4899 mm/slub.c:4906) [ 1242.074216][ C2] __alloc_object (mm/kmemleak.c:483 (discriminator 1) mm/kmemleak.c:665 (discriminator 1)) [ 1242.074218][ C2] __create_object (mm/kmemleak.c:779) [ 1242.074219][ C2] ? kasan_save_track (mm/kasan/common.c:78) [ 1242.074221][ C2] kmem_cache_alloc_noprof (./include/linux/kmemleak.h:44 mm/slub.c:4575 mm/slub.c:4899 mm/slub.c:4906) [ 1242.074223][ C2] ? __vma_start_exclude_readers (./arch/x86/include/asm/bitops.h:202 (discriminator 1) ./arch/x86/include/asm/bitops.h:232 (discriminator 1) ./include/asm-generic/bitops/instrumented-non-atomic.h:142 (discriminator 1) ./include/linux/thread_info.h:133 (discriminator 1) ./include/linux/sched.h:2069 (discriminator 1) ./include/linux/sched/signal.h:394 (discriminator 1) ./include/linux/sched/signal.h:413 (discriminator 1) mm/mmap_lock.c:126 (discriminator 1)) [ 1242.074227][ C2] vm_area_dup (mm/vma_init.c:123 (discriminator 7)) [ 1242.074229][ C2] dup_mmap (mm/mmap.c:1786) [ 1242.074232][ C2] ? mmap_read_lock_maybe_expand (./include/linux/rwsem.h:221 (discriminator 1)) [ 1242.074234][ C2] ? __lock_acquire (kernel/locking/lockdep.c:5237) [ 1242.074235][ C2] ? rcu_read_lock_any_held (./include/linux/lockdep.h:249 kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 1242.074237][ C2] ? validate_chain (kernel/locking/lockdep.c:3801 (discriminator 2) kernel/locking/lockdep.c:3821 (discriminator 2) kernel/locking/lockdep.c:3876 (discriminator 2)) [ 1242.074238][ C2] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 1242.074239][ C2] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 1242.074242][ C2] ? lock_acquire.part.0 (kernel/locking/lockdep.c:5868 (discriminator 1)) [ 1242.074243][ C2] ? copy_process (kernel/fork.c:1533 kernel/fork.c:1586 kernel/fork.c:2264) [ 1242.074245][ C2] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 1242.074247][ C2] copy_process (kernel/fork.c:1534 kernel/fork.c:1586 kernel/fork.c:2264) [ 1242.074249][ C2] ? restore_fpregs_from_user (arch/x86/kernel/fpu/signal.c:300) [ 1242.074252][ C2] ? pidfd_prepare (./include/linux/list.h:1021 (discriminator 3)) [ 1242.074254][ C2] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4040 (discriminator 3) kernel/rcu/tree.c:4032 (discriminator 3)) [ 1242.074256][ C2] ? rcu_lockdep_current_cpu_online (kernel/rcu/tree.c:4040 (discriminator 3) kernel/rcu/tree.c:4032 (discriminator 3)) [ 1242.074257][ C2] ? rcu_read_lock_any_held (./include/linux/lockdep.h:249 kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 1242.074259][ C2] kernel_clone (kernel/fork.c:2722) [ 1242.074261][ C2] ? create_io_thread (kernel/fork.c:2660) [ 1242.074263][ C2] ? __might_fault (mm/memory.c:7340 (discriminator 5)) [ 1242.074264][ C2] ? find_held_lock (kernel/locking/lockdep.c:5350) [ 1242.074267][ C2] __do_sys_clone (kernel/fork.c:2863) [ 1242.074268][ C2] ? kernel_clone (./include/trace/events/sched.h:396 (discriminator 19)) [ 1242.074271][ C2] ? rcu_is_watching (./include/linux/context_tracking.h:128 (discriminator 3) kernel/rcu/tree.c:752 (discriminator 3)) [ 1242.074273][ C2] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40 (discriminator 22)) [ 1242.074276][ C2] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 1242.074277][ C2] ? trace_hardirqs_off (kernel/trace/trace_preemptirq.c:104 (discriminator 1)) [ 1242.074279][ C2] ? exc_page_fault (arch/x86/mm/fault.c:1480 (discriminator 3) arch/x86/mm/fault.c:1527 (discriminator 3)) [ 1242.074280][ C2] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) [ 1242.074282][ C2] RIP: 0033:0x7fa7b3ce3226 [ 1242.074284][ C2] 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) ... [ 1242.074285][ C2] RSP: 002b:00007ffdb472ea90 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 [ 1242.074286][ C2] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007fa7b3ce3226 [ 1242.074287][ C2] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 [ 1242.074288][ C2] RBP: 00007ffdb472eab0 R08: 0000000000000000 R09: 0000000000000030 [ 1242.074289][ C2] R10: 00007fa7b3c20e50 R11: 0000000000000246 R12: 000055a158e21650 Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock