===================================================== WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected 5.15.153-syzkaller #0 Not tainted ----------------------------------------------------- syz-executor.2/3524 [HC0[0]:SC0[2]:HE0:SE0] is trying to acquire: ffff88801ac905c0 (&stab->lock){+.-.}-{2:2}, at: __sock_map_delete net/core/sock_map.c:416 [inline] ffff88801ac905c0 (&stab->lock){+.-.}-{2:2}, at: sock_map_delete_elem+0x97/0x130 net/core/sock_map.c:448 and this task is already holding: ffffffff8c60a158 (pidmap_lock){....}-{2:2}, at: spin_lock_irq include/linux/spinlock.h:388 [inline] ffffffff8c60a158 (pidmap_lock){....}-{2:2}, at: alloc_pid+0x25f/0xab0 kernel/pid.c:209 which would create a new lock dependency: (pidmap_lock){....}-{2:2} -> (&stab->lock){+.-.}-{2:2} but this new dependency connects a HARDIRQ-irq-safe lock: (&sighand->siglock){-...}-{2:2} ... which became HARDIRQ-irq-safe 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 __lock_task_sighand+0x11a/0x290 kernel/signal.c:1404 lock_task_sighand include/linux/sched/signal.h:704 [inline] do_send_sig_info kernel/signal.c:1293 [inline] group_send_sig_info+0x23f/0x2d0 kernel/signal.c:1442 do_bpf_send_signal+0x81/0x150 kernel/trace/bpf_trace.c:779 irq_work_single kernel/irq_work.c:155 [inline] irq_work_run_list+0x20b/0x370 kernel/irq_work.c:177 irq_work_run+0x63/0xe0 kernel/irq_work.c:186 __sysvec_irq_work+0x9a/0x250 arch/x86/kernel/irq_work.c:22 sysvec_irq_work+0x89/0xb0 arch/x86/kernel/irq_work.c:17 asm_sysvec_irq_work+0x16/0x20 arch/x86/include/asm/idtentry.h:664 put_flush_tlb_info arch/x86/mm/tlb.c:953 [inline] flush_tlb_mm_range+0x36b/0x4a0 arch/x86/mm/tlb.c:994 flush_tlb_page arch/x86/include/asm/tlbflush.h:239 [inline] ptep_clear_flush+0x112/0x150 mm/pgtable-generic.c:97 wp_page_copy+0xdfe/0x2070 mm/memory.c:3085 handle_pte_fault mm/memory.c:4639 [inline] __handle_mm_fault mm/memory.c:4756 [inline] handle_mm_fault+0x2a3d/0x5950 mm/memory.c:4854 do_user_addr_fault arch/x86/mm/fault.c:1388 [inline] handle_page_fault arch/x86/mm/fault.c:1476 [inline] exc_page_fault+0x271/0x740 arch/x86/mm/fault.c:1532 asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:568 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_update_common+0x1b6/0x5b0 net/core/sock_map.c:492 sock_map_update_elem_sys+0x440/0x770 net/core/sock_map.c:585 map_update_elem+0x6a0/0x7c0 kernel/bpf/syscall.c:1185 __sys_bpf+0x2fd/0x670 kernel/bpf/syscall.c:4639 __do_sys_bpf kernel/bpf/syscall.c:4755 [inline] __se_sys_bpf kernel/bpf/syscall.c:4753 [inline] __x64_sys_bpf+0x78/0x90 kernel/bpf/syscall.c:4753 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: Chain exists of: &sighand->siglock --> pidmap_lock --> &stab->lock Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&stab->lock); local_irq_disable(); lock(&sighand->siglock); lock(pidmap_lock); lock(&sighand->siglock); *** DEADLOCK *** 3 locks held by syz-executor.2/3524: #0: ffff8880b9b37000 (lock#2){+.+.}-{2:2}, at: local_lock_acquire+0xd/0x170 include/linux/local_lock_internal.h:28 #1: ffffffff8c60a158 (pidmap_lock){....}-{2:2}, at: spin_lock_irq include/linux/spinlock.h:388 [inline] #1: ffffffff8c60a158 (pidmap_lock){....}-{2:2}, at: alloc_pid+0x25f/0xab0 kernel/pid.c:209 #2: ffffffff8c91f720 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:311 the dependencies between HARDIRQ-irq-safe lock and the holding lock: -> (&sighand->siglock){-...}-{2:2} { IN-HARDIRQ-W 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 __lock_task_sighand+0x11a/0x290 kernel/signal.c:1404 lock_task_sighand include/linux/sched/signal.h:704 [inline] do_send_sig_info kernel/signal.c:1293 [inline] group_send_sig_info+0x23f/0x2d0 kernel/signal.c:1442 do_bpf_send_signal+0x81/0x150 kernel/trace/bpf_trace.c:779 irq_work_single kernel/irq_work.c:155 [inline] irq_work_run_list+0x20b/0x370 kernel/irq_work.c:177 irq_work_run+0x63/0xe0 kernel/irq_work.c:186 __sysvec_irq_work+0x9a/0x250 arch/x86/kernel/irq_work.c:22 sysvec_irq_work+0x89/0xb0 arch/x86/kernel/irq_work.c:17 asm_sysvec_irq_work+0x16/0x20 arch/x86/include/asm/idtentry.h:664 put_flush_tlb_info arch/x86/mm/tlb.c:953 [inline] flush_tlb_mm_range+0x36b/0x4a0 arch/x86/mm/tlb.c:994 flush_tlb_page arch/x86/include/asm/tlbflush.h:239 [inline] ptep_clear_flush+0x112/0x150 mm/pgtable-generic.c:97 wp_page_copy+0xdfe/0x2070 mm/memory.c:3085 handle_pte_fault mm/memory.c:4639 [inline] __handle_mm_fault mm/memory.c:4756 [inline] handle_mm_fault+0x2a3d/0x5950 mm/memory.c:4854 do_user_addr_fault arch/x86/mm/fault.c:1388 [inline] handle_page_fault arch/x86/mm/fault.c:1476 [inline] exc_page_fault+0x271/0x740 arch/x86/mm/fault.c:1532 asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:568 INITIAL USE at: lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 __raw_spin_lock_irq include/linux/spinlock_api_smp.h:128 [inline] _raw_spin_lock_irq+0xcf/0x110 kernel/locking/spinlock.c:170 spin_lock_irq include/linux/spinlock.h:388 [inline] calculate_sigpending+0x4a/0x80 kernel/signal.c:195 ret_from_fork+0x8/0x30 arch/x86/entry/entry_64.S:283 } ... key at: [] sighand_ctor.__key+0x0/0x20 -> (&(&sig->stats_lock)->lock){....}-{2:2} { INITIAL USE 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 spin_lock include/linux/spinlock.h:363 [inline] write_seqlock include/linux/seqlock.h:890 [inline] __exit_signal kernel/exit.c:182 [inline] release_task+0x835/0x1750 kernel/exit.c:246 exit_notify kernel/exit.c:746 [inline] do_exit+0x1781/0x2480 kernel/exit.c:892 __module_put_and_exit+0x16/0x20 kernel/module.c:343 cryptomgr_test+0x21/0x30 crypto/algboss.c:193 kthread+0x3f6/0x4f0 kernel/kthread.c:319 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298 } ... key at: [] copy_signal.__key.68+0x0/0x20 ... acquired 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 spin_lock include/linux/spinlock.h:363 [inline] write_seqlock include/linux/seqlock.h:890 [inline] __exit_signal kernel/exit.c:182 [inline] release_task+0x835/0x1750 kernel/exit.c:246 exit_notify kernel/exit.c:746 [inline] do_exit+0x1781/0x2480 kernel/exit.c:892 __module_put_and_exit+0x16/0x20 kernel/module.c:343 cryptomgr_test+0x21/0x30 crypto/algboss.c:193 kthread+0x3f6/0x4f0 kernel/kthread.c:319 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298 -> (&____s->seqcount#5){....}-{0:0} { INITIAL USE at: lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 do_write_seqcount_begin_nested include/linux/seqlock.h:519 [inline] do_write_seqcount_begin include/linux/seqlock.h:545 [inline] write_seqlock include/linux/seqlock.h:891 [inline] __exit_signal kernel/exit.c:182 [inline] release_task+0x862/0x1750 kernel/exit.c:246 exit_notify kernel/exit.c:746 [inline] do_exit+0x1781/0x2480 kernel/exit.c:892 __module_put_and_exit+0x16/0x20 kernel/module.c:343 cryptomgr_test+0x21/0x30 crypto/algboss.c:193 kthread+0x3f6/0x4f0 kernel/kthread.c:319 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298 INITIAL READ USE at: lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 seqcount_lockdep_reader_access+0x123/0x1e0 include/linux/seqlock.h:103 read_seqbegin include/linux/seqlock.h:840 [inline] read_seqbegin_or_lock_irqsave include/linux/seqlock.h:1201 [inline] thread_group_cputime+0x1ae/0x950 kernel/sched/cputime.c:318 thread_group_cputime_adjusted+0xa2/0x330 kernel/sched/cputime.c:627 wait_task_zombie kernel/exit.c:1131 [inline] wait_consider_task+0xca9/0x2e50 kernel/exit.c:1406 do_wait_pid kernel/exit.c:1537 [inline] do_wait+0x528/0xaf0 kernel/exit.c:1579 kernel_wait+0xe5/0x230 kernel/exit.c:1766 call_usermodehelper_exec_sync kernel/umh.c:139 [inline] call_usermodehelper_exec_work+0xb5/0x220 kernel/umh.c:166 process_one_work+0x8a1/0x10c0 kernel/workqueue.c:2310 worker_thread+0xaca/0x1280 kernel/workqueue.c:2457 kthread+0x3f6/0x4f0 kernel/kthread.c:319 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298 } ... key at: [] copy_signal.__key.70+0x0/0x20 ... acquired at: lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 do_write_seqcount_begin_nested include/linux/seqlock.h:519 [inline] do_write_seqcount_begin include/linux/seqlock.h:545 [inline] write_seqlock include/linux/seqlock.h:891 [inline] __exit_signal kernel/exit.c:182 [inline] release_task+0x862/0x1750 kernel/exit.c:246 exit_notify kernel/exit.c:746 [inline] do_exit+0x1781/0x2480 kernel/exit.c:892 __module_put_and_exit+0x16/0x20 kernel/module.c:343 cryptomgr_test+0x21/0x30 crypto/algboss.c:193 kthread+0x3f6/0x4f0 kernel/kthread.c:319 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298 -> (pidmap_lock){....}-{2:2} { INITIAL USE at: lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623 __raw_spin_lock_irq include/linux/spinlock_api_smp.h:128 [inline] _raw_spin_lock_irq+0xcf/0x110 kernel/locking/spinlock.c:170 spin_lock_irq include/linux/spinlock.h:388 [inline] alloc_pid+0x25f/0xab0 kernel/pid.c:209 copy_process+0x1ca9/0x3ef0 kernel/fork.c:2222 kernel_clone+0x210/0x960 kernel/fork.c:2604 kernel_thread+0x168/0x1e0 kernel/fork.c:2656 rest_init+0x21/0x330 init/main.c:704 start_kernel+0x48c/0x535 init/main.c:1138 secondary_startup_64_no_verify+0xb1/0xbb } ... key at: [] pidmap_lock+0x18/0x40 ... acquired 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 free_pid+0x2c/0x280 kernel/pid.c:132 __unhash_process kernel/exit.c:124 [inline] __exit_signal kernel/exit.c:195 [inline] release_task+0xdf9/0x1750 kernel/exit.c:246 exit_notify kernel/exit.c:746 [inline] do_exit+0x1781/0x2480 kernel/exit.c:892 __module_put_and_exit+0x16/0x20 kernel/module.c:343 cryptomgr_test+0x21/0x30 crypto/algboss.c:193 kthread+0x3f6/0x4f0 kernel/kthread.c:319 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298 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_update_common+0x1b6/0x5b0 net/core/sock_map.c:492 sock_map_update_elem_sys+0x440/0x770 net/core/sock_map.c:585 map_update_elem+0x6a0/0x7c0 kernel/bpf/syscall.c:1185 __sys_bpf+0x2fd/0x670 kernel/bpf/syscall.c:4639 __do_sys_bpf kernel/bpf/syscall.c:4755 [inline] __se_sys_bpf kernel/bpf/syscall.c:4753 [inline] __x64_sys_bpf+0x78/0x90 kernel/bpf/syscall.c:4753 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/0xaec bpf_dispatcher_nop_func include/linux/bpf.h:785 [inline] __bpf_prog_run include/linux/filter.h:628 [inline] bpf_prog_run include/linux/filter.h:635 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:1880 [inline] bpf_trace_run4+0x1ea/0x390 kernel/trace/bpf_trace.c:1919 __bpf_trace_mm_page_alloc+0xba/0xe0 include/trace/events/kmem.h:201 trace_mm_page_alloc include/trace/events/kmem.h:201 [inline] __alloc_pages+0x6e0/0x700 mm/page_alloc.c:5443 stack_depot_save+0x319/0x440 lib/stackdepot.c:302 save_stack+0x104/0x1e0 mm/page_owner.c:120 __reset_page_owner+0x52/0x180 mm/page_owner.c:140 reset_page_owner include/linux/page_owner.h:24 [inline] free_pages_prepare mm/page_alloc.c:1340 [inline] free_pcp_prepare mm/page_alloc.c:1391 [inline] free_unref_page_prepare+0xc34/0xcf0 mm/page_alloc.c:3317 free_unref_page+0x95/0x2d0 mm/page_alloc.c:3396 put_page include/linux/mm.h:1247 [inline] page_to_skb+0x84d/0xd20 drivers/net/virtio_net.c:509 receive_mergeable drivers/net/virtio_net.c:1070 [inline] receive_buf+0x1218/0x64c0 drivers/net/virtio_net.c:1180 virtnet_receive drivers/net/virtio_net.c:1472 [inline] virtnet_poll+0x629/0x1270 drivers/net/virtio_net.c:1585 __napi_poll+0xc7/0x440 net/core/dev.c:7035 napi_poll net/core/dev.c:7102 [inline] net_rx_action+0x617/0xda0 net/core/dev.c:7192 __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 common_interrupt+0xa4/0xc0 arch/x86/kernel/irq.c:240 asm_common_interrupt+0x22/0x40 arch/x86/include/asm/idtentry.h:629 __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:161 [inline] _raw_spin_unlock_irqrestore+0xd4/0x130 kernel/locking/spinlock.c:194 __debug_check_no_obj_freed lib/debugobjects.c:981 [inline] debug_check_no_obj_freed+0x455/0x4e0 lib/debugobjects.c:1002 free_pages_prepare mm/page_alloc.c:1345 [inline] free_pcp_prepare mm/page_alloc.c:1391 [inline] free_unref_page_prepare+0x281/0xcf0 mm/page_alloc.c:3317 free_unref_page+0x95/0x2d0 mm/page_alloc.c:3396 free_slab mm/slub.c:2015 [inline] discard_slab mm/slub.c:2021 [inline] __unfreeze_partials+0x1b7/0x210 mm/slub.c:2507 put_cpu_partial+0x132/0x1a0 mm/slub.c:2587 do_slab_free mm/slub.c:3487 [inline] ___cache_free+0xe3/0x100 mm/slub.c:3506 qlist_free_all+0x36/0x90 mm/kasan/quarantine.c:176 kasan_quarantine_reduce+0x162/0x180 mm/kasan/quarantine.c:283 __kasan_slab_alloc+0x2f/0xc0 mm/kasan/common.c:444 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 getname_flags+0xb8/0x4e0 fs/namei.c:138 user_path_at_empty+0x2a/0x180 fs/namei.c:2882 user_path_at include/linux/namei.h:57 [inline] ksys_umount fs/namespace.c:1779 [inline] __do_sys_umount fs/namespace.c:1787 [inline] __se_sys_umount fs/namespace.c:1785 [inline] __x64_sys_umount+0xf0/0x170 fs/namespace.c:1785 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_update_common+0x1b6/0x5b0 net/core/sock_map.c:492 sock_map_update_elem_sys+0x440/0x770 net/core/sock_map.c:585 map_update_elem+0x6a0/0x7c0 kernel/bpf/syscall.c:1185 __sys_bpf+0x2fd/0x670 kernel/bpf/syscall.c:4639 __do_sys_bpf kernel/bpf/syscall.c:4755 [inline] __se_sys_bpf kernel/bpf/syscall.c:4753 [inline] __x64_sys_bpf+0x78/0x90 kernel/bpf/syscall.c:4753 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/0xaec bpf_dispatcher_nop_func include/linux/bpf.h:785 [inline] __bpf_prog_run include/linux/filter.h:628 [inline] bpf_prog_run include/linux/filter.h:635 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:1880 [inline] bpf_trace_run4+0x1ea/0x390 kernel/trace/bpf_trace.c:1919 __bpf_trace_mm_page_alloc+0xba/0xe0 include/trace/events/kmem.h:201 trace_mm_page_alloc include/trace/events/kmem.h:201 [inline] __alloc_pages+0x6e0/0x700 mm/page_alloc.c:5443 alloc_slab_page mm/slub.c:1775 [inline] allocate_slab mm/slub.c:1912 [inline] new_slab+0xbb/0x4b0 mm/slub.c:1975 ___slab_alloc+0x6f6/0xe10 mm/slub.c:3008 __slab_alloc mm/slub.c:3095 [inline] slab_alloc_node mm/slub.c:3186 [inline] slab_alloc mm/slub.c:3228 [inline] kmem_cache_alloc+0x18e/0x280 mm/slub.c:3233 radix_tree_node_alloc+0x196/0x3b0 lib/radix-tree.c:251 radix_tree_extend+0x140/0x540 lib/radix-tree.c:423 idr_get_free+0x1ab/0xab0 lib/radix-tree.c:1491 idr_alloc_u32 lib/idr.c:46 [inline] idr_alloc_cyclic+0x1ec/0x5d0 lib/idr.c:125 alloc_pid+0x2fa/0xab0 kernel/pid.c:233 copy_process+0x1ca9/0x3ef0 kernel/fork.c:2222 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: 1 PID: 3524 Comm: syz-executor.2 Not tainted 5.15.153-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/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/0xaec bpf_dispatcher_nop_func include/linux/bpf.h:785 [inline] __bpf_prog_run include/linux/filter.h:628 [inline] bpf_prog_run include/linux/filter.h:635 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:1880 [inline] bpf_trace_run4+0x1ea/0x390 kernel/trace/bpf_trace.c:1919 __bpf_trace_mm_page_alloc+0xba/0xe0 include/trace/events/kmem.h:201 trace_mm_page_alloc include/trace/events/kmem.h:201 [inline] __alloc_pages+0x6e0/0x700 mm/page_alloc.c:5443 alloc_slab_page mm/slub.c:1775 [inline] allocate_slab mm/slub.c:1912 [inline] new_slab+0xbb/0x4b0 mm/slub.c:1975 ___slab_alloc+0x6f6/0xe10 mm/slub.c:3008 __slab_alloc mm/slub.c:3095 [inline] slab_alloc_node mm/slub.c:3186 [inline] slab_alloc mm/slub.c:3228 [inline] kmem_cache_alloc+0x18e/0x280 mm/slub.c:3233 radix_tree_node_alloc+0x196/0x3b0 lib/radix-tree.c:251 radix_tree_extend+0x140/0x540 lib/radix-tree.c:423 idr_get_free+0x1ab/0xab0 lib/radix-tree.c:1491 idr_alloc_u32 lib/idr.c:46 [inline] idr_alloc_cyclic+0x1ec/0x5d0 lib/idr.c:125 alloc_pid+0x2fa/0xab0 kernel/pid.c:233 copy_process+0x1ca9/0x3ef0 kernel/fork.c:2222 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:0x7f54cd5e2e93 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:00007ffcb66f19a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f54cd5e2e93 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000555555d3b750 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000001