===================================================== WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected 5.15.152-syzkaller #0 Not tainted ----------------------------------------------------- syz-executor.4/13461 [HC0[0]:SC1[3]:HE0:SE0] is trying to acquire: ffff88809c5471c0 (&stab->lock ){+.-.}-{2:2} , at: __sock_map_delete net/core/sock_map.c:416 [inline] , at: sock_map_delete_elem+0x97/0x130 net/core/sock_map.c:448 and this task is already holding: ffff8880b9a39b18 (&pool->lock ){-.-.}-{2:2} , at: __queue_work+0x56d/0xd00 which would create a new lock dependency: (&pool->lock ){-.-.}-{2:2} -> ( &stab->lock ){+.-.}-{2:2} but this new dependency connects a HARDIRQ-irq-safe lock: (&pool->lock ){-.-.}-{2:2} ... which became HARDIRQ-irq-safe at: lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline] _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:154 __queue_work+0x56d/0xd00 queue_work_on+0x14b/0x250 kernel/workqueue.c:1559 hrtimer_switch_to_hres kernel/time/hrtimer.c:747 [inline] hrtimer_run_queues+0x14b/0x450 kernel/time/hrtimer.c:1912 run_local_timers kernel/time/timer.c:1762 [inline] update_process_times+0xca/0x200 kernel/time/timer.c:1787 tick_periodic+0x197/0x210 kernel/time/tick-common.c:100 tick_handle_periodic+0x46/0x150 kernel/time/tick-common.c:112 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline] __sysvec_apic_timer_interrupt+0x139/0x470 arch/x86/kernel/apic/apic.c:1102 sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1096 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638 __seqprop_spinlock_sequence include/linux/seqlock.h:277 [inline] read_seqbegin+0x1ce/0x250 include/linux/seqlock.h:840 d_alloc_parallel+0x3b8/0x1390 fs/dcache.c:2586 __lookup_slow+0x111/0x3d0 fs/namei.c:1648 lookup_one_len+0x187/0x2d0 fs/namei.c:2718 start_creating+0x111/0x200 fs/tracefs/inode.c:426 tracefs_create_file+0x9c/0x5d0 fs/tracefs/inode.c:493 trace_create_file+0x2e/0x60 kernel/trace/trace.c:8991 event_create_dir+0xa7b/0xdf0 kernel/trace/trace_events.c:2454 __trace_early_add_event_dirs+0x6e/0x1c0 kernel/trace/trace_events.c:3491 early_event_add_tracer+0x52/0x70 kernel/trace/trace_events.c:3664 event_trace_init+0x100/0x180 kernel/trace/trace_events.c:3824 tracer_init_tracefs+0x153/0x2a2 kernel/trace/trace.c:9897 do_one_initcall+0x22b/0x7a0 init/main.c:1299 do_initcall_level+0x157/0x207 init/main.c:1372 do_initcalls+0x49/0x86 init/main.c:1388 kernel_init_freeable+0x425/0x5b5 init/main.c:1612 kernel_init+0x19/0x290 init/main.c:1503 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298 to a HARDIRQ-irq-unsafe lock: ( &stab->lock ){+.-.}-{2:2} ... which became HARDIRQ-irq-unsafe at: ... lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline] _raw_spin_lock_bh+0x31/0x40 kernel/locking/spinlock.c:178 __sock_map_delete net/core/sock_map.c:416 [inline] sock_map_delete_elem+0x97/0x130 net/core/sock_map.c:448 map_delete_elem+0x431/0x580 kernel/bpf/syscall.c:1217 __sys_bpf+0x311/0x670 kernel/bpf/syscall.c:4620 __do_sys_bpf kernel/bpf/syscall.c:4733 [inline] __se_sys_bpf kernel/bpf/syscall.c:4731 [inline] __x64_sys_bpf+0x78/0x90 kernel/bpf/syscall.c:4731 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x61/0xcb other info that might help us debug this: Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&stab->lock ); local_irq_disable(); lock(&pool->lock ); lock( &stab->lock ); lock(&pool->lock ); *** DEADLOCK *** 7 locks held by syz-executor.4/13461: #0: ffffffff8c9aa950 (dup_mmap_sem ){.+.+}-{0:0} , at: dup_mmap kernel/fork.c:502 [inline] , at: dup_mm kernel/fork.c:1465 [inline] , at: copy_mm+0x223/0x1370 kernel/fork.c:1517 #1: ffff888019b82b28 (&mm->mmap_lock ){++++}-{3:3} , at: mmap_write_lock_killable include/linux/mmap_lock.h:87 [inline] , at: dup_mmap kernel/fork.c:503 [inline] , at: dup_mm kernel/fork.c:1465 [inline] , at: copy_mm+0x242/0x1370 kernel/fork.c:1517 #2: ffff8880818dce28 (&mm->mmap_lock /1){+.+.}-{3:3} , at: mmap_write_lock_nested include/linux/mmap_lock.h:78 [inline] , at: dup_mmap kernel/fork.c:512 [inline] , at: dup_mm kernel/fork.c:1465 [inline] , at: copy_mm+0x35c/0x1370 kernel/fork.c:1517 #3: ffffc90000007be0 ((&sdp->delay_work) ){+.-.}-{0:0} , at: lockdep_copy_map include/linux/lockdep.h:45 [inline] , at: call_timer_fn+0xbe/0x560 kernel/time/timer.c:1411 #4: ffffffff8c91f720 (rcu_read_lock ){....}-{1:2} , at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:268 #5: ffff8880b9a39b18 (&pool->lock ){-.-.}-{2:2} , at: __queue_work+0x56d/0xd00 #6: ffffffff8c91f720 ( rcu_read_lock ){....}-{1:2} , at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:268 the dependencies between HARDIRQ-irq-safe lock and the holding lock: -> ( &pool->lock ){-.-.}-{2:2} { IN-HARDIRQ-W at: lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline] _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:154 __queue_work+0x56d/0xd00 queue_work_on+0x14b/0x250 kernel/workqueue.c:1559 hrtimer_switch_to_hres kernel/time/hrtimer.c:747 [inline] hrtimer_run_queues+0x14b/0x450 kernel/time/hrtimer.c:1912 run_local_timers kernel/time/timer.c:1762 [inline] update_process_times+0xca/0x200 kernel/time/timer.c:1787 tick_periodic+0x197/0x210 kernel/time/tick-common.c:100 tick_handle_periodic+0x46/0x150 kernel/time/tick-common.c:112 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline] __sysvec_apic_timer_interrupt+0x139/0x470 arch/x86/kernel/apic/apic.c:1102 sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1096 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638 __seqprop_spinlock_sequence include/linux/seqlock.h:277 [inline] read_seqbegin+0x1ce/0x250 include/linux/seqlock.h:840 d_alloc_parallel+0x3b8/0x1390 fs/dcache.c:2586 __lookup_slow+0x111/0x3d0 fs/namei.c:1648 lookup_one_len+0x187/0x2d0 fs/namei.c:2718 start_creating+0x111/0x200 fs/tracefs/inode.c:426 tracefs_create_file+0x9c/0x5d0 fs/tracefs/inode.c:493 trace_create_file+0x2e/0x60 kernel/trace/trace.c:8991 event_create_dir+0xa7b/0xdf0 kernel/trace/trace_events.c:2454 __trace_early_add_event_dirs+0x6e/0x1c0 kernel/trace/trace_events.c:3491 early_event_add_tracer+0x52/0x70 kernel/trace/trace_events.c:3664 event_trace_init+0x100/0x180 kernel/trace/trace_events.c:3824 tracer_init_tracefs+0x153/0x2a2 kernel/trace/trace.c:9897 do_one_initcall+0x22b/0x7a0 init/main.c:1299 do_initcall_level+0x157/0x207 init/main.c:1372 do_initcalls+0x49/0x86 init/main.c:1388 kernel_init_freeable+0x425/0x5b5 init/main.c:1612 kernel_init+0x19/0x290 init/main.c:1503 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298 IN-SOFTIRQ-W at: lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline] _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:154 __queue_work+0x56d/0xd00 call_timer_fn+0x16d/0x560 kernel/time/timer.c:1421 expire_timers kernel/time/timer.c:1461 [inline] __run_timers+0x6a8/0x890 kernel/time/timer.c:1737 __do_softirq+0x3b3/0x93a kernel/softirq.c:558 invoke_softirq kernel/softirq.c:432 [inline] __irq_exit_rcu+0x155/0x240 kernel/softirq.c:637 irq_exit_rcu+0x5/0x20 kernel/softirq.c:649 sysvec_apic_timer_interrupt+0x91/0xb0 arch/x86/kernel/apic/apic.c:1096 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638 native_safe_halt arch/x86/include/asm/irqflags.h:51 [inline] arch_safe_halt arch/x86/include/asm/irqflags.h:89 [inline] default_idle+0xb/0x10 arch/x86/kernel/process.c:717 default_idle_call+0x81/0xc0 kernel/sched/idle.c:112 cpuidle_idle_call kernel/sched/idle.c:194 [inline] do_idle+0x271/0x670 kernel/sched/idle.c:306 cpu_startup_entry+0x14/0x20 kernel/sched/idle.c:403 start_kernel+0x48c/0x535 init/main.c:1137 secondary_startup_64_no_verify+0xb1/0xbb INITIAL USE at: lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0xd1/0x120 kernel/locking/spinlock.c:162 pwq_adjust_max_active+0x14e/0x550 kernel/workqueue.c:3783 link_pwq kernel/workqueue.c:3849 [inline] alloc_and_link_pwqs kernel/workqueue.c:4243 [inline] alloc_workqueue+0xbb4/0x13f0 kernel/workqueue.c:4365 workqueue_init_early+0x7b2/0x96c kernel/workqueue.c:6099 start_kernel+0x1fa/0x535 init/main.c:1024 secondary_startup_64_no_verify+0xb1/0xbb } ... key at: [] init_worker_pool.__key+0x0/0x20 the dependencies between the lock to be acquired and HARDIRQ-irq-unsafe lock: -> (&stab->lock ){+.-.}-{2:2} { HARDIRQ-ON-W at: lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline] _raw_spin_lock_bh+0x31/0x40 kernel/locking/spinlock.c:178 __sock_map_delete net/core/sock_map.c:416 [inline] sock_map_delete_elem+0x97/0x130 net/core/sock_map.c:448 map_delete_elem+0x431/0x580 kernel/bpf/syscall.c:1217 __sys_bpf+0x311/0x670 kernel/bpf/syscall.c:4620 __do_sys_bpf kernel/bpf/syscall.c:4733 [inline] __se_sys_bpf kernel/bpf/syscall.c:4731 [inline] __x64_sys_bpf+0x78/0x90 kernel/bpf/syscall.c:4731 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x61/0xcb IN-SOFTIRQ-W at: lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline] _raw_spin_lock_bh+0x31/0x40 kernel/locking/spinlock.c:178 __sock_map_delete net/core/sock_map.c:416 [inline] sock_map_delete_elem+0x97/0x130 net/core/sock_map.c:448 bpf_prog_2c29ac5cdc6b1842+0x3a/0x4b0 bpf_dispatcher_nop_func include/linux/bpf.h:780 [inline] __bpf_prog_run include/linux/filter.h:618 [inline] bpf_prog_run include/linux/filter.h:632 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:1880 [inline] bpf_trace_run3+0x2ce/0x380 kernel/trace/bpf_trace.c:1918 trace_workqueue_queue_work include/trace/events/workqueue.h:23 [inline] __queue_work+0xc99/0xd00 kernel/workqueue.c:1512 call_timer_fn+0x16d/0x560 kernel/time/timer.c:1421 expire_timers kernel/time/timer.c:1461 [inline] __run_timers+0x6a8/0x890 kernel/time/timer.c:1737 run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1750 __do_softirq+0x3b3/0x93a kernel/softirq.c:558 invoke_softirq kernel/softirq.c:432 [inline] __irq_exit_rcu+0x155/0x240 kernel/softirq.c:637 irq_exit_rcu+0x5/0x20 kernel/softirq.c:649 sysvec_apic_timer_interrupt+0x91/0xb0 arch/x86/kernel/apic/apic.c:1096 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638 lock_page_memcg+0x2cc/0x4d0 mm/memcontrol.c:2059 page_remove_rmap+0x2a/0x11e0 mm/rmap.c:1351 zap_pte_range mm/memory.c:1373 [inline] zap_pmd_range mm/memory.c:1494 [inline] zap_pud_range mm/memory.c:1523 [inline] zap_p4d_range mm/memory.c:1544 [inline] unmap_page_range+0xffa/0x2630 mm/memory.c:1565 unmap_vmas+0x1f8/0x390 mm/memory.c:1642 exit_mmap+0x3b6/0x670 mm/mmap.c:3186 __mmput+0x112/0x3b0 kernel/fork.c:1126 exit_mm+0x688/0x7f0 kernel/exit.c:548 do_exit+0x626/0x2480 kernel/exit.c:859 do_group_exit+0x144/0x310 kernel/exit.c:994 __do_sys_exit_group kernel/exit.c:1005 [inline] __se_sys_exit_group kernel/exit.c:1003 [inline] __x64_sys_exit_group+0x3b/0x40 kernel/exit.c:1003 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x61/0xcb INITIAL USE at: lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline] _raw_spin_lock_bh+0x31/0x40 kernel/locking/spinlock.c:178 __sock_map_delete net/core/sock_map.c:416 [inline] sock_map_delete_elem+0x97/0x130 net/core/sock_map.c:448 map_delete_elem+0x431/0x580 kernel/bpf/syscall.c:1217 __sys_bpf+0x311/0x670 kernel/bpf/syscall.c:4620 __do_sys_bpf kernel/bpf/syscall.c:4733 [inline] __se_sys_bpf kernel/bpf/syscall.c:4731 [inline] __x64_sys_bpf+0x78/0x90 kernel/bpf/syscall.c:4731 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x61/0xcb } ... key at: [] sock_map_alloc.__key+0x0/0x20 ... acquired at: lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline] _raw_spin_lock_bh+0x31/0x40 kernel/locking/spinlock.c:178 __sock_map_delete net/core/sock_map.c:416 [inline] sock_map_delete_elem+0x97/0x130 net/core/sock_map.c:448 bpf_prog_2c29ac5cdc6b1842+0x3a/0x4b0 bpf_dispatcher_nop_func include/linux/bpf.h:780 [inline] __bpf_prog_run include/linux/filter.h:618 [inline] bpf_prog_run include/linux/filter.h:632 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:1880 [inline] bpf_trace_run3+0x2ce/0x380 kernel/trace/bpf_trace.c:1918 trace_workqueue_queue_work include/trace/events/workqueue.h:23 [inline] __queue_work+0xc99/0xd00 kernel/workqueue.c:1512 queue_work_on+0x14b/0x250 kernel/workqueue.c:1559 call_timer_fn+0x16d/0x560 kernel/time/timer.c:1421 expire_timers kernel/time/timer.c:1466 [inline] __run_timers+0x67c/0x890 kernel/time/timer.c:1737 run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1750 __do_softirq+0x3b3/0x93a kernel/softirq.c:558 invoke_softirq kernel/softirq.c:432 [inline] __irq_exit_rcu+0x155/0x240 kernel/softirq.c:637 irq_exit_rcu+0x5/0x20 kernel/softirq.c:649 sysvec_apic_timer_interrupt+0x91/0xb0 arch/x86/kernel/apic/apic.c:1096 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638 __preempt_count_dec_and_test arch/x86/include/asm/preempt.h:95 [inline] rcu_is_watching+0x63/0xa0 kernel/rcu/tree.c:1124 trace_lock_acquire include/trace/events/lock.h:13 [inline] lock_acquire+0xdd/0x4f0 kernel/locking/lockdep.c:5594 rcu_lock_acquire+0x2a/0x30 include/linux/rcupdate.h:269 rcu_read_lock include/linux/rcupdate.h:696 [inline] is_bpf_text_address+0x1d/0x260 kernel/bpf/core.c:721 kernel_text_address kernel/extable.c:151 [inline] __kernel_text_address+0x94/0x100 kernel/extable.c:105 unwind_get_return_address+0x49/0x80 arch/x86/kernel/unwind_orc.c:323 arch_stack_walk+0xf3/0x140 arch/x86/kernel/stacktrace.c:26 stack_trace_save+0x113/0x1c0 kernel/stacktrace.c:122 kasan_save_stack mm/kasan/common.c:38 [inline] kasan_set_track mm/kasan/common.c:46 [inline] set_alloc_info mm/kasan/common.c:434 [inline] __kasan_slab_alloc+0x8e/0xc0 mm/kasan/common.c:467 kasan_slab_alloc include/linux/kasan.h:254 [inline] slab_post_alloc_hook+0x53/0x380 mm/slab.h:519 slab_alloc_node mm/slub.c:3220 [inline] slab_alloc mm/slub.c:3228 [inline] kmem_cache_alloc+0xf3/0x280 mm/slub.c:3233 ptlock_alloc+0x1c/0x60 mm/memory.c:5523 ptlock_init include/linux/mm.h:2230 [inline] pgtable_pte_page_ctor include/linux/mm.h:2257 [inline] __pte_alloc_one include/asm-generic/pgalloc.h:66 [inline] pte_alloc_one+0xd1/0x360 arch/x86/mm/pgtable.c:33 __pte_alloc+0x75/0x210 mm/memory.c:439 copy_pte_range mm/memory.c:1021 [inline] copy_pmd_range mm/memory.c:1156 [inline] copy_pud_range mm/memory.c:1193 [inline] copy_p4d_range mm/memory.c:1217 [inline] copy_page_range+0x37cc/0x43b0 mm/memory.c:1290 dup_mmap kernel/fork.c:614 [inline] dup_mm kernel/fork.c:1465 [inline] copy_mm+0xc64/0x1370 kernel/fork.c:1517 copy_process+0x1816/0x3ef0 kernel/fork.c:2206 kernel_clone+0x210/0x960 kernel/fork.c:2604 __do_sys_clone kernel/fork.c:2721 [inline] __se_sys_clone kernel/fork.c:2705 [inline] __x64_sys_clone+0x23f/0x290 kernel/fork.c:2705 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x61/0xcb stack backtrace: CPU: 0 PID: 13461 Comm: syz-executor.4 Not tainted 5.15.152-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/29/2024 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106 print_bad_irq_dependency kernel/locking/lockdep.c:2567 [inline] check_irq_usage kernel/locking/lockdep.c:2806 [inline] check_prev_add kernel/locking/lockdep.c:3057 [inline] check_prevs_add kernel/locking/lockdep.c:3172 [inline] validate_chain+0x4d01/0x5930 kernel/locking/lockdep.c:3788 __lock_acquire+0x1295/0x1ff0 kernel/locking/lockdep.c:5012 lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline] _raw_spin_lock_bh+0x31/0x40 kernel/locking/spinlock.c:178 __sock_map_delete net/core/sock_map.c:416 [inline] sock_map_delete_elem+0x97/0x130 net/core/sock_map.c:448 bpf_prog_2c29ac5cdc6b1842+0x3a/0x4b0 bpf_dispatcher_nop_func include/linux/bpf.h:780 [inline] __bpf_prog_run include/linux/filter.h:618 [inline] bpf_prog_run include/linux/filter.h:632 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:1880 [inline] bpf_trace_run3+0x2ce/0x380 kernel/trace/bpf_trace.c:1918 trace_workqueue_queue_work include/trace/events/workqueue.h:23 [inline] __queue_work+0xc99/0xd00 kernel/workqueue.c:1512 queue_work_on+0x14b/0x250 kernel/workqueue.c:1559 call_timer_fn+0x16d/0x560 kernel/time/timer.c:1421 expire_timers kernel/time/timer.c:1466 [inline] __run_timers+0x67c/0x890 kernel/time/timer.c:1737 run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1750 __do_softirq+0x3b3/0x93a kernel/softirq.c:558 invoke_softirq kernel/softirq.c:432 [inline] __irq_exit_rcu+0x155/0x240 kernel/softirq.c:637 irq_exit_rcu+0x5/0x20 kernel/softirq.c:649 sysvec_apic_timer_interrupt+0x91/0xb0 arch/x86/kernel/apic/apic.c:1096 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638 RIP: 0010:rcu_is_watching+0x63/0xa0 kernel/rcu/tree.c:1124 Code: 89 f7 e8 50 02 5f 00 48 c7 c3 c8 b2 03 00 49 03 1e 48 89 d8 48 c1 e8 03 42 0f b6 04 38 84 c0 75 1a 8b 03 65 ff 0d b5 7b 97 7e <74> 08 24 01 5b 41 5e 41 5f c3 e8 56 93 95 ff eb f1 89 d9 80 e1 07 RSP: 0018:ffffc90002d86da0 EFLAGS: 00000286 RAX: 000000000003bdad RBX: ffff8880b9a3b2c8 RCX: ffffffff81628c5c RDX: 0000000000000000 RSI: ffffffff8ad88ee0 RDI: ffffffff8ad88ea0 RBP: ffffc90002d86f20 R08: dffffc0000000000 R09: fffffbfff1bc71b6 R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff920005b0dc0 R13: dffffc0000000000 R14: ffffffff8c34e7f0 R15: dffffc0000000000 trace_lock_acquire include/trace/events/lock.h:13 [inline] lock_acquire+0xdd/0x4f0 kernel/locking/lockdep.c:5594 rcu_lock_acquire+0x2a/0x30 include/linux/rcupdate.h:269 rcu_read_lock include/linux/rcupdate.h:696 [inline] is_bpf_text_address+0x1d/0x260 kernel/bpf/core.c:721 kernel_text_address kernel/extable.c:151 [inline] __kernel_text_address+0x94/0x100 kernel/extable.c:105 unwind_get_return_address+0x49/0x80 arch/x86/kernel/unwind_orc.c:323 arch_stack_walk+0xf3/0x140 arch/x86/kernel/stacktrace.c:26 stack_trace_save+0x113/0x1c0 kernel/stacktrace.c:122 kasan_save_stack mm/kasan/common.c:38 [inline] kasan_set_track mm/kasan/common.c:46 [inline] set_alloc_info mm/kasan/common.c:434 [inline] __kasan_slab_alloc+0x8e/0xc0 mm/kasan/common.c:467 kasan_slab_alloc include/linux/kasan.h:254 [inline] slab_post_alloc_hook+0x53/0x380 mm/slab.h:519 slab_alloc_node mm/slub.c:3220 [inline] slab_alloc mm/slub.c:3228 [inline] kmem_cache_alloc+0xf3/0x280 mm/slub.c:3233 ptlock_alloc+0x1c/0x60 mm/memory.c:5523 ptlock_init include/linux/mm.h:2230 [inline] pgtable_pte_page_ctor include/linux/mm.h:2257 [inline] __pte_alloc_one include/asm-generic/pgalloc.h:66 [inline] pte_alloc_one+0xd1/0x360 arch/x86/mm/pgtable.c:33 __pte_alloc+0x75/0x210 mm/memory.c:439 copy_pte_range mm/memory.c:1021 [inline] copy_pmd_range mm/memory.c:1156 [inline] copy_pud_range mm/memory.c:1193 [inline] copy_p4d_range mm/memory.c:1217 [inline] copy_page_range+0x37cc/0x43b0 mm/memory.c:1290 dup_mmap kernel/fork.c:614 [inline] dup_mm kernel/fork.c:1465 [inline] copy_mm+0xc64/0x1370 kernel/fork.c:1517 copy_process+0x1816/0x3ef0 kernel/fork.c:2206 kernel_clone+0x210/0x960 kernel/fork.c:2604 __do_sys_clone kernel/fork.c:2721 [inline] __se_sys_clone kernel/fork.c:2705 [inline] __x64_sys_clone+0x23f/0x290 kernel/fork.c:2705 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x61/0xcb RIP: 0033:0x7f01c5155dd3 Code: 1f 84 00 00 00 00 00 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 35 89 c2 85 c0 75 2c 64 48 8b 04 25 10 00 00 RSP: 002b:00007ffd42116a88 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f01c5155dd3 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000555556864750 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000000 ---------------- Code disassembly (best guess): 0: 89 f7 mov %esi,%edi 2: e8 50 02 5f 00 call 0x5f0257 7: 48 c7 c3 c8 b2 03 00 mov $0x3b2c8,%rbx e: 49 03 1e add (%r14),%rbx 11: 48 89 d8 mov %rbx,%rax 14: 48 c1 e8 03 shr $0x3,%rax 18: 42 0f b6 04 38 movzbl (%rax,%r15,1),%eax 1d: 84 c0 test %al,%al 1f: 75 1a jne 0x3b 21: 8b 03 mov (%rbx),%eax 23: 65 ff 0d b5 7b 97 7e decl %gs:0x7e977bb5(%rip) # 0x7e977bdf * 2a: 74 08 je 0x34 <-- trapping instruction 2c: 24 01 and $0x1,%al 2e: 5b pop %rbx 2f: 41 5e pop %r14 31: 41 5f pop %r15 33: c3 ret 34: e8 56 93 95 ff call 0xff95938f 39: eb f1 jmp 0x2c 3b: 89 d9 mov %ebx,%ecx 3d: 80 e1 07 and $0x7,%cl