====================================== | [ 17.493013][ C0] #3: ffffffffb6f81e90 (remove_cache_srcu){.+.+}-{0:0}, at: kasan_quarantine_reduce (./include/linux/srcu.h:161 ./include/linux/srcu.h:253 mm/kasan/quarantine.c:259) | [ 17.493840][ C0] #4: ffffffffb6d793c0 (rcu_callback){....}-{0:0}, at: rcu_do_batch (./include/linux/rcupdate.h:331 kernel/rcu/tree.c:2570) | [ 17.494562][ C0] | [ 17.494562][ C0] stack backtrace: [ 17.495058][ C0] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 17.495061][ C0] Call Trace: [ 17.495065][ C0] [ 17.495068][ C0] dump_stack_lvl (lib/dump_stack.c:123) [ 17.495080][ C0] print_usage_bug.part.0 (kernel/locking/lockdep.c:4048) [ 17.495089][ C0] mark_lock_irq (kernel/locking/lockdep.c:4013 kernel/locking/lockdep.c:4059 kernel/locking/lockdep.c:4270) [ 17.495098][ C0] mark_lock (kernel/locking/lockdep.c:4756) [ 17.495103][ C0] mark_usage (kernel/locking/lockdep.c:4645) [ 17.495108][ C0] __lock_acquire (kernel/locking/lockdep.c:5194) [ 17.495112][ C0] ? unwind_next_frame (./include/linux/rcupdate.h:874 ./include/linux/rcupdate.h:1155 arch/x86/kernel/unwind_orc.c:479) [ 17.495119][ C0] ? arch_stack_walk (arch/x86/kernel/stacktrace.c:26) [ 17.495126][ C0] lock_acquire.part.0 (kernel/locking/lockdep.c:473 kernel/locking/lockdep.c:5873) [ 17.495131][ C0] ? xa_set_mark (lib/xarray.c:2076 lib/xarray.c:2146) [ 17.495137][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:745) [ 17.495145][ C0] ? lock_acquire (./include/trace/events/lock.h:24 kernel/locking/lockdep.c:5834) [ 17.495149][ C0] ? xa_set_mark (lib/xarray.c:2076 lib/xarray.c:2146) [ 17.495153][ C0] _raw_spin_lock (./include/linux/spinlock_api_smp.h:134 kernel/locking/spinlock.c:154) [ 17.495160][ C0] ? xa_set_mark (lib/xarray.c:2076 lib/xarray.c:2146) [ 17.495164][ C0] xa_set_mark (lib/xarray.c:2076 lib/xarray.c:2146) [ 17.495168][ C0] ? __pfx_xa_set_mark (lib/xarray.c:2144) [ 17.495172][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5240) [ 17.495182][ C0] ? find_held_lock (kernel/locking/lockdep.c:5353) [ 17.495188][ C0] ref_tracker_dir_exit (lib/ref_tracker.c:54 lib/ref_tracker.c:223) [ 17.495197][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4328) [ 17.495202][ C0] ? _raw_spin_unlock_irqrestore (./include/linux/spinlock_api_smp.h:151 kernel/locking/spinlock.c:194) [ 17.495209][ C0] ? __pfx_ref_tracker_dir_exit (lib/ref_tracker.c:213) [ 17.495215][ C0] ? ref_tracker_free (lib/ref_tracker.c:281) [ 17.495221][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5240) [ 17.495225][ C0] ? __pfx_ref_tracker_free (lib/ref_tracker.c:281) [ 17.495230][ C0] ? __sk_destruct (./include/linux/instrumented.h:96 ./include/linux/atomic/atomic-instrumented.h:400 ./include/linux/refcount.h:389 ./include/linux/refcount.h:432 ./include/linux/refcount.h:450 ./include/net/net_namespace.h:287 ./include/net/net_namespace.h:390 net/core/sock.c:2368) [ 17.495239][ C0] ? rcu_do_batch (./include/linux/rcupdate.h:341 kernel/rcu/tree.c:2578) [ 17.495245][ C0] ? rcu_core (kernel/rcu/tree.c:2834) [ 17.495249][ C0] ? handle_softirqs (kernel/softirq.c:580) [ 17.495257][ C0] __put_net (./include/linux/llist.h:238 ./include/linux/llist.h:265 net/core/net_namespace.c:732) [ 17.495265][ C0] ? __kernel_text_address (kernel/extable.c:79) [ 17.495273][ C0] ? __pfx___put_net (net/core/net_namespace.c:729) [ 17.495281][ C0] ? bpf_sk_storage_free (./include/linux/rcupdate.h:341 ./include/linux/rcupdate.h:871 net/core/bpf_sk_storage.c:61) [ 17.495290][ C0] __sk_destruct (./include/net/net_namespace.h:288 ./include/net/net_namespace.h:390 net/core/sock.c:2368) [ 17.495296][ C0] ? rcu_do_batch (kernel/rcu/tree.c:2576) [ 17.495300][ C0] rcu_do_batch (./include/linux/rcupdate.h:341 kernel/rcu/tree.c:2578) [ 17.495307][ C0] ? find_held_lock (kernel/locking/lockdep.c:5353) [ 17.495313][ C0] ? __pfx_rcu_do_batch (kernel/rcu/tree.c:2500) [ 17.495319][ C0] ? mark_held_locks (kernel/locking/lockdep.c:4328) [ 17.495324][ C0] ? note_gp_changes (kernel/rcu/tree.c:1326 (discriminator 1)) [ 17.495330][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4475) [ 17.495339][ C0] rcu_core (kernel/rcu/tree.c:2834) [ 17.495344][ C0] handle_softirqs (kernel/softirq.c:580) [ 17.495352][ C0] __irq_exit_rcu (kernel/softirq.c:614 kernel/softirq.c:453 kernel/softirq.c:680) [ 17.495357][ C0] irq_exit_rcu (kernel/softirq.c:698) [ 17.495362][ C0] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1050 arch/x86/kernel/apic/apic.c:1050) [ 17.495368][ C0] [ 17.495370][ C0] [ 17.495372][ C0] asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:702) [ 17.495379][ C0] RIP: 0010:debug_lockdep_rcu_enabled (kernel/rcu/update.c:320 (discriminator 4)) [ 17.495386][ C0] Code: 1f 84 00 00 00 00 00 0f 1f 44 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 8b 05 a6 c7 a2 01 85 c0 74 20 <8b> 05 30 d7 a2 01 85 c0 74 16 65 48 8b 05 f8 b4 97 02 8b 80 4c 0a All code ======== 0: 1f (bad) 1: 84 00 test %al,(%rax) 3: 00 00 add %al,(%rax) 5: 00 00 add %al,(%rax) 7: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) c: 90 nop d: 90 nop e: 90 nop f: 90 nop 10: 90 nop 11: 90 nop 12: 90 nop 13: 90 nop 14: 90 nop 15: 90 nop 16: 90 nop 17: 90 nop 18: 90 nop 19: 90 nop 1a: 90 nop 1b: 90 nop 1c: f3 0f 1e fa endbr64 20: 8b 05 a6 c7 a2 01 mov 0x1a2c7a6(%rip),%eax # 0x1a2c7cc 26: 85 c0 test %eax,%eax 28: 74 20 je 0x4a 2a:* 8b 05 30 d7 a2 01 mov 0x1a2d730(%rip),%eax # 0x1a2d760 <-- trapping instruction 30: 85 c0 test %eax,%eax 32: 74 16 je 0x4a 34: 65 48 8b 05 f8 b4 97 mov %gs:0x297b4f8(%rip),%rax # 0x297b534 3b: 02 3c: 8b .byte 0x8b 3d: 80 .byte 0x80 3e: 4c rex.WR 3f: 0a .byte 0xa Code starting with the faulting instruction =========================================== 0: 8b 05 30 d7 a2 01 mov 0x1a2d730(%rip),%eax # 0x1a2d736 6: 85 c0 test %eax,%eax 8: 74 16 je 0x20 a: 65 48 8b 05 f8 b4 97 mov %gs:0x297b4f8(%rip),%rax # 0x297b50a 11: 02 12: 8b .byte 0x8b 13: 80 .byte 0x80 14: 4c rex.WR 15: 0a .byte 0xa [ 17.495391][ C0] RSP: 0018:ffffc90000ab7438 EFLAGS: 00000202 [ 17.495397][ C0] RAX: 0000000000000002 RBX: dffffc0000000000 RCX: ffffc90000ab7404 [ 17.495401][ C0] RDX: 0000000000000000 RSI: ffffffffb688de21 RDI: 00007f1ef534ea47 [ 17.495404][ C0] RBP: 00007f1ef534ea47 R08: 0000000000000000 R09: 0000000000000001 [ 17.495408][ C0] R10: 0000000000000000 R11: ffffffffb6d794e0 R12: ffffffffb77f69e0 [ 17.495411][ C0] R13: 0000000000000000 R14: ffff88800a9245c0 R15: ffff8880010407c0 [ 17.495423][ C0] ftrace_ops_trampoline (kernel/trace/ftrace.c:1098 (discriminator 10)) [ 17.495432][ C0] is_ftrace_trampoline (kernel/trace/ftrace.c:1118) [ 17.495437][ C0] kernel_text_address (kernel/extable.c:121 kernel/extable.c:94) [ 17.495443][ C0] __kernel_text_address (kernel/extable.c:79) [ 17.495449][ C0] unwind_get_return_address (arch/x86/kernel/unwind_orc.c:369 arch/x86/kernel/unwind_orc.c:364) [ 17.495455][ C0] ? __pfx_stack_trace_consume_entry (kernel/stacktrace.c:83) [ 17.495462][ C0] arch_stack_walk (arch/x86/kernel/stacktrace.c:26) [ 17.495473][ C0] stack_trace_save (kernel/stacktrace.c:123) [ 17.495478][ C0] ? __pfx_stack_trace_save (kernel/stacktrace.c:114) [ 17.495482][ C0] ? check_bytes_and_report (mm/slub.c:1212) [ 17.495495][ C0] ? check_object (mm/slub.c:1289 mm/slub.c:1388) [ 17.495500][ C0] set_track_prepare (mm/slub.c:936) [ 17.495505][ C0] ? kasan_quarantine_reduce (./include/linux/srcu.h:400 mm/kasan/quarantine.c:287) [ 17.495511][ C0] ? __kasan_slab_alloc (mm/kasan/common.c:329) [ 17.495517][ C0] ? kmem_cache_alloc_bulk_noprof (mm/slub.c:4148 mm/slub.c:5374 mm/slub.c:5354) [ 17.495523][ C0] ? mas_dup_alloc.isra.0 (lib/maple_tree.c:6674) [ 17.495530][ C0] ? mas_dup_build (./include/linux/maple_tree.h:566 lib/maple_tree.c:6738) [ 17.495535][ C0] ? __mt_dup (lib/maple_tree.c:6802) [ 17.495540][ C0] ? dup_mmap (mm/mmap.c:1749) [ 17.495545][ C0] ? copy_mm (kernel/fork.c:1478 kernel/fork.c:1529) [ 17.495552][ C0] ? copy_process (kernel/fork.c:2169) [ 17.495558][ C0] ? kernel_clone (./include/linux/random.h:26 kernel/fork.c:2600) [ 17.495562][ C0] ? __do_sys_clone (kernel/fork.c:2731) [ 17.495566][ C0] ? do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 17.495570][ C0] ? entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 17.495577][ C0] free_to_partial_list (mm/slub.c:4388) [ 17.495582][ C0] ? qlist_free_all (mm/kasan/quarantine.c:163 mm/kasan/quarantine.c:179) [ 17.495590][ C0] qlist_free_all (mm/kasan/quarantine.c:174) [ 17.495597][ C0] kasan_quarantine_reduce (./include/linux/srcu.h:400 mm/kasan/quarantine.c:287) [ 17.495602][ C0] __kasan_slab_alloc (mm/kasan/common.c:329) [ 17.495608][ C0] kmem_cache_alloc_bulk_noprof (mm/slub.c:4148 mm/slub.c:5374 mm/slub.c:5354) [ 17.495616][ C0] mas_dup_alloc.isra.0 (lib/maple_tree.c:6674) [ 17.495624][ C0] mas_dup_build (./include/linux/maple_tree.h:566 lib/maple_tree.c:6738) [ 17.495632][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5240) [ 17.495641][ C0] __mt_dup (lib/maple_tree.c:6802) [ 17.495647][ C0] ? __pfx___mt_dup (lib/maple_tree.c:6796) [ 17.495656][ C0] ? find_held_lock (kernel/locking/lockdep.c:5353) [ 17.495667][ C0] ? dup_mm_exe_file (./arch/x86/include/asm/atomic.h:23 ./include/linux/atomic/atomic-arch-fallback.h:457 ./include/linux/atomic/atomic-arch-fallback.h:2526 ./include/linux/atomic/atomic-instrumented.h:1575 ./include/linux/fs.h:3179 ./include/linux/fs.h:3203 kernel/fork.c:526) [ 17.495673][ C0] dup_mmap (mm/mmap.c:1749) [ 17.495679][ C0] ? rcu_read_lock_any_held (kernel/rcu/update.c:386 kernel/rcu/update.c:380) [ 17.495693][ C0] ? __pfx_dup_mmap (mm/mmap.c:1724) [ 17.495704][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:745) [ 17.495713][ C0] copy_mm (kernel/fork.c:1478 kernel/fork.c:1529) [ 17.495721][ C0] copy_process (kernel/fork.c:2169) [ 17.495727][ C0] ? do_fault_around (mm/memory.c:5574) [ 17.495735][ C0] ? find_held_lock (kernel/locking/lockdep.c:5353) [ 17.495745][ C0] ? __pfx_copy_process (kernel/fork.c:1918) [ 17.495752][ C0] ? __lock_acquire (kernel/locking/lockdep.c:5240) [ 17.495760][ C0] ? __mutex_trylock_common (./arch/x86/include/asm/atomic64_64.h:101 ./include/linux/atomic/atomic-arch-fallback.h:4296 ./include/linux/atomic/atomic-long.h:1482 ./include/linux/atomic/atomic-instrumented.h:4458 kernel/locking/mutex.c:113) [ 17.495770][ C0] kernel_clone (./include/linux/random.h:26 kernel/fork.c:2600) [ 17.495776][ C0] ? __pfx_kernel_clone (kernel/fork.c:2559) [ 17.495783][ C0] ? find_held_lock (kernel/locking/lockdep.c:5353) [ 17.495788][ C0] ? ovl_llseek (fs/overlayfs/file.c:284) [ 17.495795][ C0] ? __lock_release (kernel/locking/lockdep.c:5539) [ 17.495803][ C0] ? ovl_llseek (fs/overlayfs/file.c:284) [ 17.495810][ C0] __do_sys_clone (kernel/fork.c:2731) [ 17.495814][ C0] ? __pfx___do_sys_clone (kernel/fork.c:2731) [ 17.495825][ C0] ? rcu_is_watching (./include/linux/context_tracking.h:128 kernel/rcu/tree.c:745) [ 17.495829][ C0] ? do_syscall_64 (./arch/x86/include/asm/irqflags.h:42 ./arch/x86/include/asm/irqflags.h:119 ./include/linux/entry-common.h:199 arch/x86/entry/syscall_64.c:90) [ 17.495834][ C0] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4475) [ 17.495839][ C0] do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) [ 17.495845][ C0] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 17.495850][ C0] RIP: 0033:0x7f1ef534ea47 [ 17.495857][ C0] Code: 00 00 00 f3 0f 1e fa 64 48 8b 04 25 10 00 00 00 45 31 c0 31 d2 31 f6 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 39 41 89 c0 85 c0 75 2a 64 48 8b 04 25 10 00 All code ======== 0: 00 00 add %al,(%rax) 2: 00 f3 add %dh,%bl 4: 0f 1e fa nop %edx 7: 64 48 8b 04 25 10 00 mov %fs:0x10,%rax e: 00 00 10: 45 31 c0 xor %r8d,%r8d 13: 31 d2 xor %edx,%edx 15: 31 f6 xor %esi,%esi 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 39 ja 0x6b 32: 41 89 c0 mov %eax,%r8d 35: 85 c0 test %eax,%eax 37: 75 2a jne 0x63 39: 64 fs 3a: 48 rex.W 3b: 8b .byte 0x8b 3c: 04 25 add $0x25,%al 3e: 10 00 adc %al,(%rax) Code starting with the faulting instruction =========================================== 0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax 6: 77 39 ja 0x41 8: 41 89 c0 mov %eax,%r8d b: 85 c0 test %eax,%eax d: 75 2a jne 0x39 f: 64 fs 10: 48 rex.W 11: 8b .byte 0x8b 12: 04 25 add $0x25,%al 14: 10 00 adc %al,(%rax) [ 17.495861][ C0] RSP: 002b:00007ffd2dc573e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 [ 17.495867][ C0] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f1ef534ea47 [ 17.495870][ C0] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 [ 17.495874][ C0] RBP: 0000000000000000 R08: 0000000000000000 R09: 0065726168736e75 [ 17.495877][ C0] R10: 00007f1ef5233a10 R11: 0000000000000246 R12: 0000000000000000 Finger prints: mark_lock_irq:mark_lock:mark_usage:__lock_acquire:_raw_spin_lock