===================================================== WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected 5.10.0-syzkaller #0 Not tainted ----------------------------------------------------- syz-executor.0/11238 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: ffff88801444b360 (&new->fa_lock){.+.+}-{2:2}, at: kill_fasync_rcu fs/fcntl.c:1004 [inline] ffff88801444b360 (&new->fa_lock){.+.+}-{2:2}, at: kill_fasync fs/fcntl.c:1025 [inline] ffff88801444b360 (&new->fa_lock){.+.+}-{2:2}, at: kill_fasync+0x1a1/0x4c0 fs/fcntl.c:1018 and this task is already holding: ffff88806aaa3498 (&ctx->completion_lock){-.-.}-{2:2}, at: spin_lock_irq include/linux/spinlock.h:379 [inline] ffff88806aaa3498 (&ctx->completion_lock){-.-.}-{2:2}, at: io_submit_flush_completions+0x4d/0x3a0 fs/io_uring.c:1829 which would create a new lock dependency: (&ctx->completion_lock){-.-.}-{2:2} -> (&new->fa_lock){.+.+}-{2:2} but this new dependency connects a HARDIRQ-irq-safe lock: (&ctx->completion_lock){-.-.}-{2:2} ... which became HARDIRQ-irq-safe at: lock_acquire kernel/locking/lockdep.c:5437 [inline] lock_acquire+0x29d/0x750 kernel/locking/lockdep.c:5402 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:159 io_timeout_fn+0x6f/0x3d0 fs/io_uring.c:5619 __run_hrtimer kernel/time/hrtimer.c:1519 [inline] __hrtimer_run_queues+0x609/0xea0 kernel/time/hrtimer.c:1583 hrtimer_interrupt+0x334/0x960 kernel/time/hrtimer.c:1645 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline] __sysvec_apic_timer_interrupt+0x146/0x550 arch/x86/kernel/apic/apic.c:1102 asm_call_irq_on_stack+0xf/0x20 __run_sysvec_on_irqstack arch/x86/include/asm/irq_stack.h:37 [inline] run_sysvec_on_irqstack_cond arch/x86/include/asm/irq_stack.h:89 [inline] sysvec_apic_timer_interrupt+0xbd/0x100 arch/x86/kernel/apic/apic.c:1096 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:628 native_restore_fl arch/x86/include/asm/irqflags.h:41 [inline] arch_local_irq_restore arch/x86/include/asm/irqflags.h:84 [inline] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:160 [inline] _raw_spin_unlock_irqrestore+0x25/0x50 kernel/locking/spinlock.c:191 __debug_check_no_obj_freed lib/debugobjects.c:997 [inline] debug_check_no_obj_freed+0x20c/0x430 lib/debugobjects.c:1018 slab_free_hook mm/slub.c:1539 [inline] slab_free_freelist_hook+0x107/0x150 mm/slub.c:1580 slab_free mm/slub.c:3143 [inline] kfree+0xdb/0x3c0 mm/slub.c:4125 tomoyo_check_open_permission+0x172/0x380 security/tomoyo/file.c:786 tomoyo_file_open security/tomoyo/tomoyo.c:313 [inline] tomoyo_file_open+0xa3/0xd0 security/tomoyo/tomoyo.c:308 security_file_open+0x52/0x4f0 security/security.c:1576 do_dentry_open+0x358/0x11b0 fs/open.c:804 do_open fs/namei.c:3254 [inline] path_openat+0x1bdc/0x27a0 fs/namei.c:3371 do_filp_open+0x17e/0x3c0 fs/namei.c:3398 do_sys_openat2+0x16d/0x420 fs/open.c:1172 do_sys_open fs/open.c:1188 [inline] __do_sys_open fs/open.c:1196 [inline] __se_sys_open fs/open.c:1192 [inline] __x64_sys_open+0x119/0x1c0 fs/open.c:1192 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 to a HARDIRQ-irq-unsafe lock: (&new->fa_lock){.+.+}-{2:2} ... which became HARDIRQ-irq-unsafe at: ... lock_acquire kernel/locking/lockdep.c:5437 [inline] lock_acquire+0x29d/0x750 kernel/locking/lockdep.c:5402 __raw_read_lock include/linux/rwlock_api_smp.h:149 [inline] _raw_read_lock+0x5b/0x70 kernel/locking/spinlock.c:223 kill_fasync_rcu fs/fcntl.c:1004 [inline] kill_fasync fs/fcntl.c:1025 [inline] kill_fasync+0x1a1/0x4c0 fs/fcntl.c:1018 sock_wake_async+0xd2/0x160 net/socket.c:1310 sk_wake_async include/net/sock.h:2279 [inline] sk_wake_async include/net/sock.h:2275 [inline] sock_def_error_report+0x361/0x580 net/core/sock.c:2891 tcp_disconnect+0x14f7/0x1ea0 net/ipv4/tcp.c:3012 __inet_stream_connect+0x20a/0xee0 net/ipv4/af_inet.c:630 inet_stream_connect+0x53/0xa0 net/ipv4/af_inet.c:725 __sys_connect_file+0x155/0x1a0 net/socket.c:1835 __sys_connect+0x161/0x190 net/socket.c:1852 __do_sys_connect net/socket.c:1862 [inline] __se_sys_connect net/socket.c:1859 [inline] __x64_sys_connect+0x6f/0xb0 net/socket.c:1859 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 other info that might help us debug this: Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&new->fa_lock); local_irq_disable(); lock(&ctx->completion_lock); lock(&new->fa_lock); lock(&ctx->completion_lock); *** DEADLOCK *** 3 locks held by syz-executor.0/11238: #0: ffff88806aaa33e8 (&ctx->uring_lock){+.+.}-{3:3}, at: __do_sys_io_uring_enter+0x586/0x1c00 fs/io_uring.c:9191 #1: ffff88806aaa3498 (&ctx->completion_lock){-.-.}-{2:2}, at: spin_lock_irq include/linux/spinlock.h:379 [inline] #1: ffff88806aaa3498 (&ctx->completion_lock){-.-.}-{2:2}, at: io_submit_flush_completions+0x4d/0x3a0 fs/io_uring.c:1829 #2: ffffffff8b793de0 (rcu_read_lock){....}-{1:2}, at: kill_fasync+0x3d/0x4c0 fs/fcntl.c:1023 the dependencies between HARDIRQ-irq-safe lock and the holding lock: -> (&ctx->completion_lock){-.-.}-{2:2} { IN-HARDIRQ-W at: lock_acquire kernel/locking/lockdep.c:5437 [inline] lock_acquire+0x29d/0x750 kernel/locking/lockdep.c:5402 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:159 io_timeout_fn+0x6f/0x3d0 fs/io_uring.c:5619 __run_hrtimer kernel/time/hrtimer.c:1519 [inline] __hrtimer_run_queues+0x609/0xea0 kernel/time/hrtimer.c:1583 hrtimer_interrupt+0x334/0x960 kernel/time/hrtimer.c:1645 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline] __sysvec_apic_timer_interrupt+0x146/0x550 arch/x86/kernel/apic/apic.c:1102 asm_call_irq_on_stack+0xf/0x20 __run_sysvec_on_irqstack arch/x86/include/asm/irq_stack.h:37 [inline] run_sysvec_on_irqstack_cond arch/x86/include/asm/irq_stack.h:89 [inline] sysvec_apic_timer_interrupt+0xbd/0x100 arch/x86/kernel/apic/apic.c:1096 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:628 native_restore_fl arch/x86/include/asm/irqflags.h:41 [inline] arch_local_irq_restore arch/x86/include/asm/irqflags.h:84 [inline] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:160 [inline] _raw_spin_unlock_irqrestore+0x25/0x50 kernel/locking/spinlock.c:191 __debug_check_no_obj_freed lib/debugobjects.c:997 [inline] debug_check_no_obj_freed+0x20c/0x430 lib/debugobjects.c:1018 slab_free_hook mm/slub.c:1539 [inline] slab_free_freelist_hook+0x107/0x150 mm/slub.c:1580 slab_free mm/slub.c:3143 [inline] kfree+0xdb/0x3c0 mm/slub.c:4125 tomoyo_check_open_permission+0x172/0x380 security/tomoyo/file.c:786 tomoyo_file_open security/tomoyo/tomoyo.c:313 [inline] tomoyo_file_open+0xa3/0xd0 security/tomoyo/tomoyo.c:308 security_file_open+0x52/0x4f0 security/security.c:1576 do_dentry_open+0x358/0x11b0 fs/open.c:804 do_open fs/namei.c:3254 [inline] path_openat+0x1bdc/0x27a0 fs/namei.c:3371 do_filp_open+0x17e/0x3c0 fs/namei.c:3398 do_sys_openat2+0x16d/0x420 fs/open.c:1172 do_sys_open fs/open.c:1188 [inline] __do_sys_open fs/open.c:1196 [inline] __se_sys_open fs/open.c:1192 [inline] __x64_sys_open+0x119/0x1c0 fs/open.c:1192 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 IN-SOFTIRQ-W at: lock_acquire kernel/locking/lockdep.c:5437 [inline] lock_acquire+0x29d/0x750 kernel/locking/lockdep.c:5402 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:159 io_timeout_fn+0x6f/0x3d0 fs/io_uring.c:5619 __run_hrtimer kernel/time/hrtimer.c:1519 [inline] __hrtimer_run_queues+0x609/0xea0 kernel/time/hrtimer.c:1583 hrtimer_interrupt+0x334/0x960 kernel/time/hrtimer.c:1645 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline] __sysvec_apic_timer_interrupt+0x146/0x550 arch/x86/kernel/apic/apic.c:1102 run_sysvec_on_irqstack_cond arch/x86/include/asm/irq_stack.h:91 [inline] sysvec_apic_timer_interrupt+0x48/0x100 arch/x86/kernel/apic/apic.c:1096 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:628 native_restore_fl arch/x86/include/asm/irqflags.h:41 [inline] arch_local_irq_restore arch/x86/include/asm/irqflags.h:84 [inline] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:160 [inline] _raw_spin_unlock_irqrestore+0x25/0x50 kernel/locking/spinlock.c:191 debug_object_deactivate lib/debugobjects.c:752 [inline] debug_object_deactivate+0x264/0x300 lib/debugobjects.c:718 debug_rcu_head_unqueue kernel/rcu/rcu.h:188 [inline] rcu_do_batch kernel/rcu/tree.c:2482 [inline] rcu_core+0x719/0xf80 kernel/rcu/tree.c:2723 __do_softirq+0x2bc/0xa77 kernel/softirq.c:343 asm_call_irq_on_stack+0xf/0x20 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline] run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline] do_softirq_own_stack+0xaa/0xd0 arch/x86/kernel/irq_64.c:77 invoke_softirq kernel/softirq.c:226 [inline] __irq_exit_rcu+0x17f/0x200 kernel/softirq.c:420 irq_exit_rcu+0x5/0x20 kernel/softirq.c:432 sysvec_apic_timer_interrupt+0x4d/0x100 arch/x86/kernel/apic/apic.c:1096 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:628 check_memory_region_inline mm/kasan/generic.c:168 [inline] check_memory_region+0x15/0x180 mm/kasan/generic.c:185 instrument_atomic_read include/linux/instrumented.h:71 [inline] test_bit include/asm-generic/bitops/instrumented-non-atomic.h:134 [inline] PageSlab include/linux/page-flags.h:342 [inline] page_memcg include/linux/memcontrol.h:370 [inline] unlock_page_memcg+0xbf/0x280 mm/memcontrol.c:2234 zap_pte_range mm/memory.c:1264 [inline] zap_pmd_range mm/memory.c:1368 [inline] zap_pud_range mm/memory.c:1397 [inline] zap_p4d_range mm/memory.c:1418 [inline] unmap_page_range+0xe30/0x2640 mm/memory.c:1439 unmap_single_vma+0x198/0x300 mm/memory.c:1484 unmap_vmas+0x168/0x2e0 mm/memory.c:1516 exit_mmap+0x2b1/0x5a0 mm/mmap.c:3220 __mmput+0x122/0x470 kernel/fork.c:1083 mmput+0x53/0x60 kernel/fork.c:1104 exit_mm kernel/exit.c:500 [inline] do_exit+0xa97/0x2a00 kernel/exit.c:810 do_group_exit+0x125/0x310 kernel/exit.c:920 get_signal+0x3e9/0x2160 kernel/signal.c:2770 arch_do_signal_or_restart+0x2a8/0x1eb0 arch/x86/kernel/signal.c:811 handle_signal_work kernel/entry/common.c:147 [inline] exit_to_user_mode_loop kernel/entry/common.c:171 [inline] exit_to_user_mode_prepare+0x124/0x200 kernel/entry/common.c:201 __syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline] syscall_exit_to_user_mode+0x19/0x50 kernel/entry/common.c:302 entry_SYSCALL_64_after_hwframe+0x44/0xa9 INITIAL USE at: lock_acquire kernel/locking/lockdep.c:5437 [inline] lock_acquire+0x29d/0x750 kernel/locking/lockdep.c:5402 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:159 io_cqring_add_event fs/io_uring.c:1817 [inline] __io_req_complete fs/io_uring.c:1862 [inline] __io_req_complete fs/io_uring.c:1858 [inline] io_req_complete fs/io_uring.c:1876 [inline] io_unlinkat fs/io_uring.c:3739 [inline] io_issue_sqe+0x2d7/0x44e0 fs/io_uring.c:6277 io_wq_submit_work+0x1a3/0x6f0 fs/io_uring.c:6322 io_worker_handle_work+0x782/0x1ba0 fs/io-wq.c:565 io_wqe_worker+0xc7a/0x10e0 fs/io-wq.c:607 kthread+0x3b1/0x4a0 kernel/kthread.c:292 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296 } ... key at: [] __key.10+0x0/0x40 ... acquired at: lock_acquire kernel/locking/lockdep.c:5437 [inline] lock_acquire+0x29d/0x750 kernel/locking/lockdep.c:5402 __raw_read_lock include/linux/rwlock_api_smp.h:149 [inline] _raw_read_lock+0x5b/0x70 kernel/locking/spinlock.c:223 kill_fasync_rcu fs/fcntl.c:1004 [inline] kill_fasync fs/fcntl.c:1025 [inline] kill_fasync+0x1a1/0x4c0 fs/fcntl.c:1018 __io_commit_cqring fs/io_uring.c:1344 [inline] io_commit_cqring+0x34e/0xa90 fs/io_uring.c:1654 io_submit_flush_completions+0x269/0x3a0 fs/io_uring.c:1851 __io_req_complete+0x209/0x310 fs/io_uring.c:1870 io_nop fs/io_uring.c:3893 [inline] io_issue_sqe+0x1e1c/0x44e0 fs/io_uring.c:6180 __io_queue_sqe+0x228/0x1120 fs/io_uring.c:6484 io_queue_sqe+0x631/0x10f0 fs/io_uring.c:6550 io_submit_sqe fs/io_uring.c:6623 [inline] io_submit_sqes+0x135a/0x2530 fs/io_uring.c:6871 __do_sys_io_uring_enter+0x591/0x1c00 fs/io_uring.c:9192 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 the dependencies between the lock to be acquired and HARDIRQ-irq-unsafe lock: -> (&new->fa_lock){.+.+}-{2:2} { HARDIRQ-ON-R at: lock_acquire kernel/locking/lockdep.c:5437 [inline] lock_acquire+0x29d/0x750 kernel/locking/lockdep.c:5402 __raw_read_lock include/linux/rwlock_api_smp.h:149 [inline] _raw_read_lock+0x5b/0x70 kernel/locking/spinlock.c:223 kill_fasync_rcu fs/fcntl.c:1004 [inline] kill_fasync fs/fcntl.c:1025 [inline] kill_fasync+0x1a1/0x4c0 fs/fcntl.c:1018 sock_wake_async+0xd2/0x160 net/socket.c:1310 sk_wake_async include/net/sock.h:2279 [inline] sk_wake_async include/net/sock.h:2275 [inline] sock_def_error_report+0x361/0x580 net/core/sock.c:2891 tcp_disconnect+0x14f7/0x1ea0 net/ipv4/tcp.c:3012 __inet_stream_connect+0x20a/0xee0 net/ipv4/af_inet.c:630 inet_stream_connect+0x53/0xa0 net/ipv4/af_inet.c:725 __sys_connect_file+0x155/0x1a0 net/socket.c:1835 __sys_connect+0x161/0x190 net/socket.c:1852 __do_sys_connect net/socket.c:1862 [inline] __se_sys_connect net/socket.c:1859 [inline] __x64_sys_connect+0x6f/0xb0 net/socket.c:1859 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 SOFTIRQ-ON-R at: lock_acquire kernel/locking/lockdep.c:5437 [inline] lock_acquire+0x29d/0x750 kernel/locking/lockdep.c:5402 __raw_read_lock include/linux/rwlock_api_smp.h:149 [inline] _raw_read_lock+0x5b/0x70 kernel/locking/spinlock.c:223 kill_fasync_rcu fs/fcntl.c:1004 [inline] kill_fasync fs/fcntl.c:1025 [inline] kill_fasync+0x1a1/0x4c0 fs/fcntl.c:1018 sock_wake_async+0xd2/0x160 net/socket.c:1310 sk_wake_async include/net/sock.h:2279 [inline] sk_wake_async include/net/sock.h:2275 [inline] sock_def_error_report+0x361/0x580 net/core/sock.c:2891 tcp_disconnect+0x14f7/0x1ea0 net/ipv4/tcp.c:3012 __inet_stream_connect+0x20a/0xee0 net/ipv4/af_inet.c:630 inet_stream_connect+0x53/0xa0 net/ipv4/af_inet.c:725 __sys_connect_file+0x155/0x1a0 net/socket.c:1835 __sys_connect+0x161/0x190 net/socket.c:1852 __do_sys_connect net/socket.c:1862 [inline] __se_sys_connect net/socket.c:1859 [inline] __x64_sys_connect+0x6f/0xb0 net/socket.c:1859 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 INITIAL USE at: lock_acquire kernel/locking/lockdep.c:5437 [inline] lock_acquire+0x29d/0x750 kernel/locking/lockdep.c:5402 __raw_write_lock_irq include/linux/rwlock_api_smp.h:196 [inline] _raw_write_lock_irq+0x32/0x50 kernel/locking/spinlock.c:311 fasync_remove_entry+0xb6/0x1f0 fs/fcntl.c:882 fasync_helper+0x9e/0xb0 fs/fcntl.c:985 sock_fasync+0x94/0x140 net/socket.c:1281 __fput+0x70d/0x920 fs/file_table.c:277 task_work_run+0xdd/0x190 kernel/task_work.c:140 tracehook_notify_resume include/linux/tracehook.h:189 [inline] exit_to_user_mode_loop kernel/entry/common.c:174 [inline] exit_to_user_mode_prepare+0x1f0/0x200 kernel/entry/common.c:201 __syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline] syscall_exit_to_user_mode+0x19/0x50 kernel/entry/common.c:302 entry_SYSCALL_64_after_hwframe+0x44/0xa9 INITIAL READ USE at: lock_acquire kernel/locking/lockdep.c:5437 [inline] lock_acquire+0x29d/0x750 kernel/locking/lockdep.c:5402 __raw_read_lock include/linux/rwlock_api_smp.h:149 [inline] _raw_read_lock+0x5b/0x70 kernel/locking/spinlock.c:223 kill_fasync_rcu fs/fcntl.c:1004 [inline] kill_fasync fs/fcntl.c:1025 [inline] kill_fasync+0x1a1/0x4c0 fs/fcntl.c:1018 sock_wake_async+0xd2/0x160 net/socket.c:1310 sk_wake_async include/net/sock.h:2279 [inline] sk_wake_async include/net/sock.h:2275 [inline] sock_def_error_report+0x361/0x580 net/core/sock.c:2891 tcp_disconnect+0x14f7/0x1ea0 net/ipv4/tcp.c:3012 __inet_stream_connect+0x20a/0xee0 net/ipv4/af_inet.c:630 inet_stream_connect+0x53/0xa0 net/ipv4/af_inet.c:725 __sys_connect_file+0x155/0x1a0 net/socket.c:1835 __sys_connect+0x161/0x190 net/socket.c:1852 __do_sys_connect net/socket.c:1862 [inline] __se_sys_connect net/socket.c:1859 [inline] __x64_sys_connect+0x6f/0xb0 net/socket.c:1859 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 } ... key at: [] __key.0+0x0/0x40 ... acquired at: lock_acquire kernel/locking/lockdep.c:5437 [inline] lock_acquire+0x29d/0x750 kernel/locking/lockdep.c:5402 __raw_read_lock include/linux/rwlock_api_smp.h:149 [inline] _raw_read_lock+0x5b/0x70 kernel/locking/spinlock.c:223 kill_fasync_rcu fs/fcntl.c:1004 [inline] kill_fasync fs/fcntl.c:1025 [inline] kill_fasync+0x1a1/0x4c0 fs/fcntl.c:1018 __io_commit_cqring fs/io_uring.c:1344 [inline] io_commit_cqring+0x34e/0xa90 fs/io_uring.c:1654 io_submit_flush_completions+0x269/0x3a0 fs/io_uring.c:1851 __io_req_complete+0x209/0x310 fs/io_uring.c:1870 io_nop fs/io_uring.c:3893 [inline] io_issue_sqe+0x1e1c/0x44e0 fs/io_uring.c:6180 __io_queue_sqe+0x228/0x1120 fs/io_uring.c:6484 io_queue_sqe+0x631/0x10f0 fs/io_uring.c:6550 io_submit_sqe fs/io_uring.c:6623 [inline] io_submit_sqes+0x135a/0x2530 fs/io_uring.c:6871 __do_sys_io_uring_enter+0x591/0x1c00 fs/io_uring.c:9192 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 stack backtrace: CPU: 0 PID: 11238 Comm: syz-executor.0 Not tainted 5.10.0-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:79 [inline] dump_stack+0x107/0x163 lib/dump_stack.c:120 print_bad_irq_dependency kernel/locking/lockdep.c:2452 [inline] check_irq_usage.cold+0x50d/0x744 kernel/locking/lockdep.c:2681 check_prev_add kernel/locking/lockdep.c:2872 [inline] check_prevs_add kernel/locking/lockdep.c:2993 [inline] validate_chain kernel/locking/lockdep.c:3608 [inline] __lock_acquire+0x2b51/0x54b0 kernel/locking/lockdep.c:4832 lock_acquire kernel/locking/lockdep.c:5437 [inline] lock_acquire+0x29d/0x750 kernel/locking/lockdep.c:5402 __raw_read_lock include/linux/rwlock_api_smp.h:149 [inline] _raw_read_lock+0x5b/0x70 kernel/locking/spinlock.c:223 kill_fasync_rcu fs/fcntl.c:1004 [inline] kill_fasync fs/fcntl.c:1025 [inline] kill_fasync+0x1a1/0x4c0 fs/fcntl.c:1018 __io_commit_cqring fs/io_uring.c:1344 [inline] io_commit_cqring+0x34e/0xa90 fs/io_uring.c:1654 io_submit_flush_completions+0x269/0x3a0 fs/io_uring.c:1851 __io_req_complete+0x209/0x310 fs/io_uring.c:1870 io_nop fs/io_uring.c:3893 [inline] io_issue_sqe+0x1e1c/0x44e0 fs/io_uring.c:6180 __io_queue_sqe+0x228/0x1120 fs/io_uring.c:6484 io_queue_sqe+0x631/0x10f0 fs/io_uring.c:6550 io_submit_sqe fs/io_uring.c:6623 [inline] io_submit_sqes+0x135a/0x2530 fs/io_uring.c:6871 __do_sys_io_uring_enter+0x591/0x1c00 fs/io_uring.c:9192 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x45e229 Code: 0d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 db b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007ff5c9ca9c68 EFLAGS: 00000246 ORIG_RAX: 00000000000001aa RAX: ffffffffffffffda RBX: 0000000000000006 RCX: 000000000045e229 RDX: 0000000000000000 RSI: 000000000000450c RDI: 0000000000000003 RBP: 000000000119c080 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000119c034 R13: 00000000016afb6f R14: 00007ff5c9caa9c0 R15: 000000000119c034