======================================================== WARNING: possible irq lock inversion dependency detected 5.19.0-rc4-syzkaller-00187-g089866061428 #0 Not tainted -------------------------------------------------------- swapper/1/0 just changed the state of lock: ffff8880221b5110 (&group->lock){..-.}-{2:2}, at: _snd_pcm_stream_lock_irqsave+0x9f/0xd0 sound/core/pcm_native.c:170 but this lock took another, SOFTIRQ-READ-unsafe lock in the past: (tasklist_lock){.+.+}-{2:2} and interrupts could create inverse lock ordering between them. other info that might help us debug this: Chain exists of: &group->lock --> &timer->lock --> tasklist_lock Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(tasklist_lock); local_irq_disable(); lock(&group->lock); lock(&timer->lock); lock(&group->lock); *** DEADLOCK *** no locks held by swapper/1/0. the shortest dependencies between 2nd lock and 1st lock: -> (tasklist_lock){.+.+}-{2:2} { HARDIRQ-ON-R at: lock_acquire kernel/locking/lockdep.c:5665 [inline] lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5630 __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline] _raw_read_lock+0x5b/0x70 kernel/locking/spinlock.c:228 do_wait+0x284/0xce0 kernel/exit.c:1508 kernel_wait+0x9c/0x150 kernel/exit.c:1698 call_usermodehelper_exec_sync kernel/umh.c:139 [inline] call_usermodehelper_exec_work+0xf5/0x180 kernel/umh.c:166 process_one_work+0x996/0x1610 kernel/workqueue.c:2289 worker_thread+0x665/0x1080 kernel/workqueue.c:2436 kthread+0x2e9/0x3a0 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302 SOFTIRQ-ON-R at: lock_acquire kernel/locking/lockdep.c:5665 [inline] lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5630 __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline] _raw_read_lock+0x5b/0x70 kernel/locking/spinlock.c:228 do_wait+0x284/0xce0 kernel/exit.c:1508 kernel_wait+0x9c/0x150 kernel/exit.c:1698 call_usermodehelper_exec_sync kernel/umh.c:139 [inline] call_usermodehelper_exec_work+0xf5/0x180 kernel/umh.c:166 process_one_work+0x996/0x1610 kernel/workqueue.c:2289 worker_thread+0x665/0x1080 kernel/workqueue.c:2436 kthread+0x2e9/0x3a0 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302 INITIAL USE at: lock_acquire kernel/locking/lockdep.c:5665 [inline] lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5630 __raw_write_lock_irq include/linux/rwlock_api_smp.h:195 [inline] _raw_write_lock_irq+0x32/0x50 kernel/locking/spinlock.c:326 copy_process+0x445e/0x7020 kernel/fork.c:2374 kernel_clone+0xe7/0xab0 kernel/fork.c:2655 user_mode_thread+0xad/0xe0 kernel/fork.c:2724 rest_init+0x23/0x270 init/main.c:691 arch_call_rest_init+0xf/0x14 init/main.c:882 start_kernel+0x46e/0x48f init/main.c:1137 secondary_startup_64_no_verify+0xce/0xdb INITIAL READ USE at: lock_acquire kernel/locking/lockdep.c:5665 [inline] lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5630 __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline] _raw_read_lock+0x5b/0x70 kernel/locking/spinlock.c:228 do_wait+0x284/0xce0 kernel/exit.c:1508 kernel_wait+0x9c/0x150 kernel/exit.c:1698 call_usermodehelper_exec_sync kernel/umh.c:139 [inline] call_usermodehelper_exec_work+0xf5/0x180 kernel/umh.c:166 process_one_work+0x996/0x1610 kernel/workqueue.c:2289 worker_thread+0x665/0x1080 kernel/workqueue.c:2436 kthread+0x2e9/0x3a0 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302 } ... key at: [] tasklist_lock+0x18/0x40 ... acquired at: __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline] _raw_read_lock+0x5b/0x70 kernel/locking/spinlock.c:228 send_sigio+0xab/0x380 fs/fcntl.c:791 dnotify_handle_event+0x148/0x280 fs/notify/dnotify/dnotify.c:115 fsnotify_handle_inode_event.isra.0+0x22e/0x370 fs/notify/fsnotify.c:264 fsnotify_handle_event fs/notify/fsnotify.c:316 [inline] send_to_group fs/notify/fsnotify.c:362 [inline] fsnotify+0xec5/0x13a0 fs/notify/fsnotify.c:567 fsnotify_parent include/linux/fsnotify.h:80 [inline] fsnotify_file include/linux/fsnotify.h:99 [inline] fsnotify_access include/linux/fsnotify.h:309 [inline] do_iter_read+0x5a3/0x750 fs/read_write.c:808 vfs_readv+0xe5/0x150 fs/read_write.c:923 do_preadv fs/read_write.c:1015 [inline] __do_sys_preadv fs/read_write.c:1065 [inline] __se_sys_preadv fs/read_write.c:1060 [inline] __x64_sys_preadv+0x22b/0x310 fs/read_write.c:1060 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x46/0xb0 -> (&f->f_owner.lock){....}-{2:2} { INITIAL USE at: lock_acquire kernel/locking/lockdep.c:5665 [inline] lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5630 __raw_write_lock_irq include/linux/rwlock_api_smp.h:195 [inline] _raw_write_lock_irq+0x32/0x50 kernel/locking/spinlock.c:326 f_modown+0x2a/0x390 fs/fcntl.c:90 fcntl_dirnotify+0x9f3/0xf30 fs/notify/dnotify/dnotify.c:369 do_fcntl+0x24c/0x1040 fs/fcntl.c:405 __do_sys_fcntl fs/fcntl.c:453 [inline] __se_sys_fcntl fs/fcntl.c:438 [inline] __x64_sys_fcntl+0x15f/0x1d0 fs/fcntl.c:438 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x46/0xb0 INITIAL READ USE at: lock_acquire kernel/locking/lockdep.c:5665 [inline] lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5630 __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline] _raw_read_lock_irqsave+0x70/0x90 kernel/locking/spinlock.c:236 send_sigio+0x24/0x380 fs/fcntl.c:777 dnotify_handle_event+0x148/0x280 fs/notify/dnotify/dnotify.c:115 fsnotify_handle_inode_event.isra.0+0x22e/0x370 fs/notify/fsnotify.c:264 fsnotify_handle_event fs/notify/fsnotify.c:316 [inline] send_to_group fs/notify/fsnotify.c:362 [inline] fsnotify+0xec5/0x13a0 fs/notify/fsnotify.c:567 fsnotify_parent include/linux/fsnotify.h:80 [inline] fsnotify_file include/linux/fsnotify.h:99 [inline] fsnotify_access include/linux/fsnotify.h:309 [inline] do_iter_read+0x5a3/0x750 fs/read_write.c:808 vfs_readv+0xe5/0x150 fs/read_write.c:923 do_preadv fs/read_write.c:1015 [inline] __do_sys_preadv fs/read_write.c:1065 [inline] __se_sys_preadv fs/read_write.c:1060 [inline] __x64_sys_preadv+0x22b/0x310 fs/read_write.c:1060 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x46/0xb0 } ... key at: [] __key.5+0x0/0x40 ... acquired at: __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline] _raw_read_lock_irqsave+0x70/0x90 kernel/locking/spinlock.c:236 send_sigio+0x24/0x380 fs/fcntl.c:777 kill_fasync_rcu fs/fcntl.c:1002 [inline] kill_fasync fs/fcntl.c:1016 [inline] kill_fasync+0x1f8/0x470 fs/fcntl.c:1009 fsnotify_insert_event+0x3ba/0x500 fs/notify/notification.c:128 fsnotify_add_event include/linux/fsnotify_backend.h:626 [inline] inotify_handle_inode_event+0x31b/0x5d0 fs/notify/inotify/inotify_fsnotify.c:119 inotify_ignored_and_remove_idr+0x24/0x70 fs/notify/inotify/inotify_user.c:527 fsnotify_free_mark+0xe5/0x140 fs/notify/mark.c:490 fsnotify_destroy_mark fs/notify/mark.c:499 [inline] fsnotify_destroy_marks+0x33a/0x4b0 fs/notify/mark.c:854 fsnotify_inoderemove include/linux/fsnotify.h:193 [inline] dentry_unlink_inode+0x3aa/0x460 fs/dcache.c:397 d_delete fs/dcache.c:2531 [inline] d_delete+0x16b/0x1c0 fs/dcache.c:2520 d_delete_notify include/linux/fsnotify.h:259 [inline] vfs_rmdir.part.0+0x3a9/0x5a0 fs/namei.c:4074 vfs_rmdir fs/namei.c:4046 [inline] do_rmdir+0x3a6/0x430 fs/namei.c:4122 __do_sys_rmdir fs/namei.c:4141 [inline] __se_sys_rmdir fs/namei.c:4139 [inline] __x64_sys_rmdir+0xc6/0x110 fs/namei.c:4139 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x46/0xb0 -> (&new->fa_lock){....}-{2:2} { INITIAL USE at: lock_acquire kernel/locking/lockdep.c:5665 [inline] lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5630 __raw_write_lock_irq include/linux/rwlock_api_smp.h:195 [inline] _raw_write_lock_irq+0x32/0x50 kernel/locking/spinlock.c:326 fasync_remove_entry+0xb6/0x1e0 fs/fcntl.c:872 fasync_helper+0x9e/0xb0 fs/fcntl.c:975 fsnotify_fasync+0x4d/0x80 fs/notify/group.c:170 __fput+0x834/0x9d0 fs/file_table.c:314 task_work_run+0xdd/0x1a0 kernel/task_work.c:177 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline] exit_to_user_mode_loop kernel/entry/common.c:169 [inline] exit_to_user_mode_prepare+0x23c/0x250 kernel/entry/common.c:201 __syscall_exit_to_user_mode_work kernel/entry/common.c:283 [inline] syscall_exit_to_user_mode+0x19/0x50 kernel/entry/common.c:294 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x46/0xb0 INITIAL READ USE at: lock_acquire kernel/locking/lockdep.c:5665 [inline] lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5630 __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline] _raw_read_lock_irqsave+0x70/0x90 kernel/locking/spinlock.c:236 kill_fasync_rcu fs/fcntl.c:995 [inline] kill_fasync fs/fcntl.c:1016 [inline] kill_fasync+0x136/0x470 fs/fcntl.c:1009 fsnotify_insert_event+0x3ba/0x500 fs/notify/notification.c:128 fsnotify_add_event include/linux/fsnotify_backend.h:626 [inline] inotify_handle_inode_event+0x31b/0x5d0 fs/notify/inotify/inotify_fsnotify.c:119 inotify_ignored_and_remove_idr+0x24/0x70 fs/notify/inotify/inotify_user.c:527 fsnotify_free_mark+0xe5/0x140 fs/notify/mark.c:490 fsnotify_destroy_mark fs/notify/mark.c:499 [inline] fsnotify_destroy_marks+0x33a/0x4b0 fs/notify/mark.c:854 fsnotify_inoderemove include/linux/fsnotify.h:193 [inline] dentry_unlink_inode+0x3aa/0x460 fs/dcache.c:397 d_delete fs/dcache.c:2531 [inline] d_delete+0x16b/0x1c0 fs/dcache.c:2520 d_delete_notify include/linux/fsnotify.h:259 [inline] vfs_rmdir.part.0+0x3a9/0x5a0 fs/namei.c:4074 vfs_rmdir fs/namei.c:4046 [inline] do_rmdir+0x3a6/0x430 fs/namei.c:4122 __do_sys_rmdir fs/namei.c:4141 [inline] __se_sys_rmdir fs/namei.c:4139 [inline] __x64_sys_rmdir+0xc6/0x110 fs/namei.c:4139 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x46/0xb0 } ... key at: [] __key.0+0x0/0x40 ... acquired at: __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline] _raw_read_lock_irqsave+0x70/0x90 kernel/locking/spinlock.c:236 kill_fasync_rcu fs/fcntl.c:995 [inline] kill_fasync fs/fcntl.c:1016 [inline] kill_fasync+0x136/0x470 fs/fcntl.c:1009 snd_timer_user_ccallback+0x298/0x330 sound/core/timer.c:1386 snd_timer_notify1+0x11c/0x3b0 sound/core/timer.c:516 snd_timer_start1+0x4d4/0x800 sound/core/timer.c:578 snd_timer_start sound/core/timer.c:696 [inline] snd_timer_start sound/core/timer.c:689 [inline] snd_timer_user_start.isra.0+0x1e3/0x260 sound/core/timer.c:1984 __snd_timer_user_ioctl.isra.0+0xda4/0x2490 sound/core/timer.c:2107 snd_timer_user_ioctl+0x77/0xb0 sound/core/timer.c:2128 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:870 [inline] __se_sys_ioctl fs/ioctl.c:856 [inline] __x64_sys_ioctl+0x193/0x200 fs/ioctl.c:856 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x46/0xb0 -> (&timer->lock){....}-{2:2} { INITIAL USE at: lock_acquire kernel/locking/lockdep.c:5665 [inline] lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5630 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:162 snd_timer_notify sound/core/timer.c:1086 [inline] snd_timer_notify+0x10c/0x3d0 sound/core/timer.c:1073 snd_pcm_timer_notify sound/core/pcm_native.c:608 [inline] snd_pcm_post_stop+0x195/0x1f0 sound/core/pcm_native.c:1512 snd_pcm_action_single+0xf4/0x130 sound/core/pcm_native.c:1283 snd_pcm_action+0x6e/0x90 sound/core/pcm_native.c:1364 snd_pcm_stop sound/core/pcm_native.c:1535 [inline] snd_pcm_drop+0x1ab/0x320 sound/core/pcm_native.c:2218 snd_pcm_kernel_ioctl+0x2af/0x310 sound/core/pcm_native.c:3445 snd_pcm_oss_sync+0x230/0x800 sound/core/oss/pcm_oss.c:1746 snd_pcm_oss_release+0x276/0x300 sound/core/oss/pcm_oss.c:2590 __fput+0x277/0x9d0 fs/file_table.c:317 task_work_run+0xdd/0x1a0 kernel/task_work.c:177 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline] exit_to_user_mode_loop kernel/entry/common.c:169 [inline] exit_to_user_mode_prepare+0x23c/0x250 kernel/entry/common.c:201 __syscall_exit_to_user_mode_work kernel/entry/common.c:283 [inline] syscall_exit_to_user_mode+0x19/0x50 kernel/entry/common.c:294 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x46/0xb0 } ... key at: [] __key.10+0x0/0x40 ... acquired at: __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:162 snd_timer_notify sound/core/timer.c:1086 [inline] snd_timer_notify+0x10c/0x3d0 sound/core/timer.c:1073 snd_pcm_timer_notify sound/core/pcm_native.c:608 [inline] snd_pcm_post_stop+0x195/0x1f0 sound/core/pcm_native.c:1512 snd_pcm_action_single+0xf4/0x130 sound/core/pcm_native.c:1283 snd_pcm_action+0x6e/0x90 sound/core/pcm_native.c:1364 snd_pcm_stop sound/core/pcm_native.c:1535 [inline] snd_pcm_drop+0x1ab/0x320 sound/core/pcm_native.c:2218 snd_pcm_kernel_ioctl+0x2af/0x310 sound/core/pcm_native.c:3445 snd_pcm_oss_sync+0x230/0x800 sound/core/oss/pcm_oss.c:1746 snd_pcm_oss_release+0x276/0x300 sound/core/oss/pcm_oss.c:2590 __fput+0x277/0x9d0 fs/file_table.c:317 task_work_run+0xdd/0x1a0 kernel/task_work.c:177 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline] exit_to_user_mode_loop kernel/entry/common.c:169 [inline] exit_to_user_mode_prepare+0x23c/0x250 kernel/entry/common.c:201 __syscall_exit_to_user_mode_work kernel/entry/common.c:283 [inline] syscall_exit_to_user_mode+0x19/0x50 kernel/entry/common.c:294 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x46/0xb0 -> (&group->lock){..-.}-{2:2} { IN-SOFTIRQ-W at: lock_acquire kernel/locking/lockdep.c:5665 [inline] lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5630 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:162 _snd_pcm_stream_lock_irqsave+0x9f/0xd0 sound/core/pcm_native.c:170 snd_pcm_period_elapsed+0x1d/0x50 sound/core/pcm_lib.c:1848 dummy_hrtimer_callback+0x94/0x1b0 sound/drivers/dummy.c:377 __run_hrtimer kernel/time/hrtimer.c:1685 [inline] __hrtimer_run_queues+0x609/0xe50 kernel/time/hrtimer.c:1749 hrtimer_run_softirq+0x17b/0x360 kernel/time/hrtimer.c:1766 __do_softirq+0x29b/0x9c2 kernel/softirq.c:571 invoke_softirq kernel/softirq.c:445 [inline] __irq_exit_rcu+0x123/0x180 kernel/softirq.c:650 irq_exit_rcu+0x5/0x20 kernel/softirq.c:662 sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1106 asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:649 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:730 default_idle_call+0x80/0xc0 kernel/sched/idle.c:109 cpuidle_idle_call kernel/sched/idle.c:191 [inline] do_idle+0x401/0x590 kernel/sched/idle.c:303 cpu_startup_entry+0x14/0x20 kernel/sched/idle.c:400 start_secondary+0x21d/0x2b0 arch/x86/kernel/smpboot.c:266 secondary_startup_64_no_verify+0xce/0xdb INITIAL USE at: lock_acquire kernel/locking/lockdep.c:5665 [inline] lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5630 __raw_spin_lock_irq include/linux/spinlock_api_smp.h:119 [inline] _raw_spin_lock_irq+0x32/0x50 kernel/locking/spinlock.c:170 spin_lock_irq include/linux/spinlock.h:374 [inline] snd_pcm_group_lock_irq sound/core/pcm_native.c:97 [inline] snd_pcm_stream_lock_irq sound/core/pcm_native.c:136 [inline] snd_pcm_hw_params+0x14b/0x19f0 sound/core/pcm_native.c:726 snd_pcm_kernel_ioctl+0x164/0x310 sound/core/pcm_native.c:3435 snd_pcm_oss_change_params_locked+0x14e2/0x3a70 sound/core/oss/pcm_oss.c:976 snd_pcm_oss_change_params sound/core/oss/pcm_oss.c:1116 [inline] snd_pcm_oss_make_ready+0xe7/0x1b0 sound/core/oss/pcm_oss.c:1175 snd_pcm_oss_sync+0x1de/0x800 sound/core/oss/pcm_oss.c:1742 snd_pcm_oss_release+0x276/0x300 sound/core/oss/pcm_oss.c:2590 __fput+0x277/0x9d0 fs/file_table.c:317 task_work_run+0xdd/0x1a0 kernel/task_work.c:177 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline] exit_to_user_mode_loop kernel/entry/common.c:169 [inline] exit_to_user_mode_prepare+0x23c/0x250 kernel/entry/common.c:201 __syscall_exit_to_user_mode_work kernel/entry/common.c:283 [inline] syscall_exit_to_user_mode+0x19/0x50 kernel/entry/common.c:294 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x46/0xb0 } ... key at: [] __key.8+0x0/0x40 ... acquired at: mark_lock kernel/locking/lockdep.c:4596 [inline] mark_usage kernel/locking/lockdep.c:4527 [inline] __lock_acquire+0x11e7/0x5660 kernel/locking/lockdep.c:5007 lock_acquire kernel/locking/lockdep.c:5665 [inline] lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5630 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:162 _snd_pcm_stream_lock_irqsave+0x9f/0xd0 sound/core/pcm_native.c:170 snd_pcm_period_elapsed+0x1d/0x50 sound/core/pcm_lib.c:1848 dummy_hrtimer_callback+0x94/0x1b0 sound/drivers/dummy.c:377 __run_hrtimer kernel/time/hrtimer.c:1685 [inline] __hrtimer_run_queues+0x609/0xe50 kernel/time/hrtimer.c:1749 hrtimer_run_softirq+0x17b/0x360 kernel/time/hrtimer.c:1766 __do_softirq+0x29b/0x9c2 kernel/softirq.c:571 invoke_softirq kernel/softirq.c:445 [inline] __irq_exit_rcu+0x123/0x180 kernel/softirq.c:650 irq_exit_rcu+0x5/0x20 kernel/softirq.c:662 sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1106 asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:649 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:730 default_idle_call+0x80/0xc0 kernel/sched/idle.c:109 cpuidle_idle_call kernel/sched/idle.c:191 [inline] do_idle+0x401/0x590 kernel/sched/idle.c:303 cpu_startup_entry+0x14/0x20 kernel/sched/idle.c:400 start_secondary+0x21d/0x2b0 arch/x86/kernel/smpboot.c:266 secondary_startup_64_no_verify+0xce/0xdb stack backtrace: CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.19.0-rc4-syzkaller-00187-g089866061428 #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 print_irq_inversion_bug kernel/locking/lockdep.c:222 [inline] check_usage_forwards kernel/locking/lockdep.c:4071 [inline] mark_lock_irq kernel/locking/lockdep.c:4203 [inline] mark_lock.part.0.cold+0x86/0xd8 kernel/locking/lockdep.c:4632 mark_lock kernel/locking/lockdep.c:4596 [inline] mark_usage kernel/locking/lockdep.c:4527 [inline] __lock_acquire+0x11e7/0x5660 kernel/locking/lockdep.c:5007 lock_acquire kernel/locking/lockdep.c:5665 [inline] lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5630 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:162 _snd_pcm_stream_lock_irqsave+0x9f/0xd0 sound/core/pcm_native.c:170 snd_pcm_period_elapsed+0x1d/0x50 sound/core/pcm_lib.c:1848 dummy_hrtimer_callback+0x94/0x1b0 sound/drivers/dummy.c:377 __run_hrtimer kernel/time/hrtimer.c:1685 [inline] __hrtimer_run_queues+0x609/0xe50 kernel/time/hrtimer.c:1749 hrtimer_run_softirq+0x17b/0x360 kernel/time/hrtimer.c:1766 __do_softirq+0x29b/0x9c2 kernel/softirq.c:571 invoke_softirq kernel/softirq.c:445 [inline] __irq_exit_rcu+0x123/0x180 kernel/softirq.c:650 irq_exit_rcu+0x5/0x20 kernel/softirq.c:662 sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1106 asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:649 RIP: 0010:default_idle+0xb/0x10 arch/x86/kernel/process.c:731 Code: ff ff ff 48 89 df e8 f4 b8 4b f8 e9 55 ff ff ff 4c 89 e7 e8 e7 b8 4b f8 eb 96 0f 1f 44 00 00 eb 07 0f 00 2d 57 b3 4c 00 fb f4 cc cc cc cc 41 55 41 54 55 48 89 fd 53 e8 e2 94 ff f7 e8 7d 0d RSP: 0018:ffffc9000067fe00 EFLAGS: 00000206 RAX: 00000000000b47bb RBX: ffff888012544000 RCX: ffffffff897705b1 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: 0000000000000001 R08: 0000000000000001 R09: ffff88802c93af93 R10: ffffed10059275f2 R11: 0000000000000001 R12: ffffed10024a8800 R13: 0000000000000001 R14: ffffffff8dbae790 R15: 0000000000000000 default_idle_call+0x80/0xc0 kernel/sched/idle.c:109 cpuidle_idle_call kernel/sched/idle.c:191 [inline] do_idle+0x401/0x590 kernel/sched/idle.c:303 cpu_startup_entry+0x14/0x20 kernel/sched/idle.c:400 start_secondary+0x21d/0x2b0 arch/x86/kernel/smpboot.c:266 secondary_startup_64_no_verify+0xce/0xdb vkms_vblank_simulate: vblank timer overrun ---------------- Code disassembly (best guess), 3 bytes skipped: 0: 48 89 df mov %rbx,%rdi 3: e8 f4 b8 4b f8 callq 0xf84bb8fc 8: e9 55 ff ff ff jmpq 0xffffff62 d: 4c 89 e7 mov %r12,%rdi 10: e8 e7 b8 4b f8 callq 0xf84bb8fc 15: eb 96 jmp 0xffffffad 17: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 1c: eb 07 jmp 0x25 1e: 0f 00 2d 57 b3 4c 00 verw 0x4cb357(%rip) # 0x4cb37c 25: fb sti 26: f4 hlt * 27: c3 retq <-- trapping instruction 28: cc int3 29: cc int3 2a: cc int3 2b: cc int3 2c: 41 55 push %r13 2e: 41 54 push %r12 30: 55 push %rbp 31: 48 89 fd mov %rdi,%rbp 34: 53 push %rbx 35: e8 e2 94 ff f7 callq 0xf7ff951c 3a: e8 .byte 0xe8 3b: 7d 0d jge 0x4a