cm109 3-1:0.8: cm109_urb_ctl_callback: urb status -71 cm109 3-1:0.8: cm109_urb_ctl_callback: urb status -71 cm109 3-1:0.8: cm109_urb_ctl_callback: urb status -71 cm109 3-1:0.8: cm109_urb_ctl_callback: urb status -71 ======================================================== WARNING: possible irq lock inversion dependency detected 6.11.0-rc7-syzkaller-00020-g8d8d276ba2fb #0 Not tainted -------------------------------------------------------- syz.2.2243/16594 just changed the state of lock: ffff888031856230 (&dev->event_lock#2){..-.}-{2:2}, at: input_inject_event+0xc5/0x340 drivers/input/input.c:423 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: &dev->event_lock#2 --> &client->buffer_lock --> tasklist_lock Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(tasklist_lock); local_irq_disable(); lock(&dev->event_lock#2); lock(&client->buffer_lock); lock(&dev->event_lock#2); *** DEADLOCK *** 4 locks held by syz.2.2243/16594: #0: ffff888028d5cd78 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:1009 [inline] #0: ffff888028d5cd78 (&dev->mutex){....}-{3:3}, at: __device_driver_lock drivers/base/dd.c:1094 [inline] #0: ffff888028d5cd78 (&dev->mutex){....}-{3:3}, at: device_release_driver_internal+0xce/0x7c0 drivers/base/dd.c:1292 #1: ffff888028ffa548 (&udc->connect_lock){+.+.}-{3:3}, at: gadget_unbind_driver+0xbd/0x460 drivers/usb/gadget/udc/core.c:1665 #2: ffffc90000007c00 (drivers/tty/vt/keyboard.c:274){+.-.}-{0:0}, at: call_timer_fn+0xc0/0x650 kernel/time/timer.c:1789 #3: ffffffff8e738320 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:326 [inline] #3: ffffffff8e738320 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:838 [inline] #3: ffffffff8e738320 (rcu_read_lock){....}-{1:2}, at: input_handler_for_each_handle+0x29/0x1d0 drivers/input/input.c:2676 the shortest dependencies between 2nd lock and 1st lock: -> (tasklist_lock){.+.+}-{2:2} { HARDIRQ-ON-R at: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline] _raw_read_lock+0x36/0x50 kernel/locking/spinlock.c:228 __do_wait+0x12d/0x850 kernel/exit.c:1591 do_wait+0x1e9/0x560 kernel/exit.c:1635 kernel_wait+0xe9/0x240 kernel/exit.c:1811 call_usermodehelper_exec_sync kernel/umh.c:137 [inline] call_usermodehelper_exec_work+0xbd/0x230 kernel/umh.c:164 process_one_work kernel/workqueue.c:3231 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312 worker_thread+0x86d/0xd10 kernel/workqueue.c:3389 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 SOFTIRQ-ON-R at: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline] _raw_read_lock+0x36/0x50 kernel/locking/spinlock.c:228 __do_wait+0x12d/0x850 kernel/exit.c:1591 do_wait+0x1e9/0x560 kernel/exit.c:1635 kernel_wait+0xe9/0x240 kernel/exit.c:1811 call_usermodehelper_exec_sync kernel/umh.c:137 [inline] call_usermodehelper_exec_work+0xbd/0x230 kernel/umh.c:164 process_one_work kernel/workqueue.c:3231 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312 worker_thread+0x86d/0xd10 kernel/workqueue.c:3389 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 INITIAL USE at: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_write_lock_irq include/linux/rwlock_api_smp.h:195 [inline] _raw_write_lock_irq+0xd3/0x120 kernel/locking/spinlock.c:326 copy_process+0x228b/0x3dc0 kernel/fork.c:2500 kernel_clone+0x223/0x880 kernel/fork.c:2781 user_mode_thread+0x132/0x1a0 kernel/fork.c:2859 rest_init+0x23/0x300 init/main.c:712 start_kernel+0x47a/0x500 init/main.c:1103 x86_64_start_reservations+0x2a/0x30 arch/x86/kernel/head64.c:507 x86_64_start_kernel+0x9f/0xa0 arch/x86/kernel/head64.c:488 common_startup_64+0x13e/0x147 INITIAL READ USE at: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline] _raw_read_lock+0x36/0x50 kernel/locking/spinlock.c:228 __do_wait+0x12d/0x850 kernel/exit.c:1591 do_wait+0x1e9/0x560 kernel/exit.c:1635 kernel_wait+0xe9/0x240 kernel/exit.c:1811 call_usermodehelper_exec_sync kernel/umh.c:137 [inline] call_usermodehelper_exec_work+0xbd/0x230 kernel/umh.c:164 process_one_work kernel/workqueue.c:3231 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312 worker_thread+0x86d/0xd10 kernel/workqueue.c:3389 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 } ... key at: [] tasklist_lock+0x18/0x40 ... acquired at: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline] _raw_read_lock+0x36/0x50 kernel/locking/spinlock.c:228 send_sigio+0xfc/0x360 fs/fcntl.c:830 kill_fasync_rcu fs/fcntl.c:1035 [inline] kill_fasync+0x23a/0x4d0 fs/fcntl.c:1049 lease_break_callback+0x26/0x30 fs/locks.c:558 __break_lease+0x6d5/0x1820 fs/locks.c:1592 break_lease include/linux/filelock.h:431 [inline] do_dentry_open+0x8be/0x1440 fs/open.c:950 vfs_open+0x3e/0x330 fs/open.c:1089 do_open fs/namei.c:3727 [inline] path_openat+0x2b3e/0x3470 fs/namei.c:3886 do_filp_open+0x235/0x490 fs/namei.c:3913 do_sys_openat2+0x13e/0x1d0 fs/open.c:1416 do_sys_open fs/open.c:1431 [inline] __do_sys_openat fs/open.c:1447 [inline] __se_sys_openat fs/open.c:1442 [inline] __x64_sys_openat+0x247/0x2a0 fs/open.c:1442 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f -> (&f->f_owner.lock){....}-{2:2} { INITIAL USE at: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_write_lock_irq include/linux/rwlock_api_smp.h:195 [inline] _raw_write_lock_irq+0xd3/0x120 kernel/locking/spinlock.c:326 f_modown+0x38/0x340 fs/fcntl.c:93 __tty_fasync drivers/tty/tty_io.c:2246 [inline] tty_fasync+0x250/0x340 drivers/tty/tty_io.c:2261 ioctl_fioasync fs/ioctl.c:380 [inline] do_vfs_ioctl+0x19c8/0x2e50 fs/ioctl.c:822 __do_sys_ioctl fs/ioctl.c:905 [inline] __se_sys_ioctl+0x81/0x170 fs/ioctl.c:893 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f INITIAL READ USE at: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline] _raw_read_lock_irqsave+0xdd/0x130 kernel/locking/spinlock.c:236 send_sigio+0x33/0x360 fs/fcntl.c:816 kill_fasync_rcu fs/fcntl.c:1035 [inline] kill_fasync+0x23a/0x4d0 fs/fcntl.c:1049 __receive_buf drivers/tty/n_tty.c:1656 [inline] n_tty_receive_buf_common+0x989/0x12e0 drivers/tty/n_tty.c:1739 tty_port_default_receive_buf+0x6d/0xa0 drivers/tty/tty_port.c:37 receive_buf drivers/tty/tty_buffer.c:445 [inline] flush_to_ldisc+0x328/0x860 drivers/tty/tty_buffer.c:495 process_one_work kernel/workqueue.c:3231 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312 worker_thread+0x86d/0xd10 kernel/workqueue.c:3389 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 } ... key at: [] init_file.__key+0x0/0x20 ... acquired at: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline] _raw_read_lock_irqsave+0xdd/0x130 kernel/locking/spinlock.c:236 send_sigio+0x33/0x360 fs/fcntl.c:816 kill_fasync_rcu fs/fcntl.c:1035 [inline] kill_fasync+0x23a/0x4d0 fs/fcntl.c:1049 __receive_buf drivers/tty/n_tty.c:1656 [inline] n_tty_receive_buf_common+0x989/0x12e0 drivers/tty/n_tty.c:1739 tty_port_default_receive_buf+0x6d/0xa0 drivers/tty/tty_port.c:37 receive_buf drivers/tty/tty_buffer.c:445 [inline] flush_to_ldisc+0x328/0x860 drivers/tty/tty_buffer.c:495 process_one_work kernel/workqueue.c:3231 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312 worker_thread+0x86d/0xd10 kernel/workqueue.c:3389 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 -> (&new->fa_lock){....}-{2:2} { INITIAL USE at: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_write_lock_irq include/linux/rwlock_api_smp.h:195 [inline] _raw_write_lock_irq+0xd3/0x120 kernel/locking/spinlock.c:326 fasync_remove_entry+0xff/0x1d0 fs/fcntl.c:905 __tty_fasync drivers/tty/tty_io.c:2228 [inline] tty_fasync+0x105/0x340 drivers/tty/tty_io.c:2261 __fput+0x73e/0x8a0 fs/file_table.c:419 task_work_run+0x24f/0x310 kernel/task_work.c:228 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop kernel/entry/common.c:114 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline] syscall_exit_to_user_mode+0x168/0x370 kernel/entry/common.c:218 do_syscall_64+0x100/0x230 arch/x86/entry/common.c:89 entry_SYSCALL_64_after_hwframe+0x77/0x7f INITIAL READ USE at: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline] _raw_read_lock_irqsave+0xdd/0x130 kernel/locking/spinlock.c:236 kill_fasync_rcu fs/fcntl.c:1028 [inline] kill_fasync+0x19e/0x4d0 fs/fcntl.c:1049 __receive_buf drivers/tty/n_tty.c:1656 [inline] n_tty_receive_buf_common+0x989/0x12e0 drivers/tty/n_tty.c:1739 tty_port_default_receive_buf+0x6d/0xa0 drivers/tty/tty_port.c:37 receive_buf drivers/tty/tty_buffer.c:445 [inline] flush_to_ldisc+0x328/0x860 drivers/tty/tty_buffer.c:495 process_one_work kernel/workqueue.c:3231 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312 worker_thread+0x86d/0xd10 kernel/workqueue.c:3389 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 } ... key at: [] fasync_insert_entry.__key+0x0/0x20 ... acquired at: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline] _raw_read_lock_irqsave+0xdd/0x130 kernel/locking/spinlock.c:236 kill_fasync_rcu fs/fcntl.c:1028 [inline] kill_fasync+0x19e/0x4d0 fs/fcntl.c:1049 __pass_event drivers/input/evdev.c:240 [inline] evdev_pass_values+0x58a/0xad0 drivers/input/evdev.c:278 evdev_events+0x1c2/0x300 drivers/input/evdev.c:306 input_pass_values+0x286/0x860 drivers/input/input.c:126 input_event_dispose+0x30f/0x600 drivers/input/input.c:341 input_handle_event+0xa71/0xbe0 drivers/input/input.c:369 input_inject_event+0x22f/0x340 drivers/input/input.c:428 evdev_write+0x672/0x7c0 drivers/input/evdev.c:521 vfs_write+0x2a2/0xc90 fs/read_write.c:588 ksys_write+0x1a0/0x2c0 fs/read_write.c:643 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f -> (&client->buffer_lock){....}-{2:2} { INITIAL USE at: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:351 [inline] evdev_handle_get_val+0x67/0x820 drivers/input/evdev.c:891 evdev_ioctl_handler+0x135c/0x21b0 drivers/input/evdev.c:1263 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:907 [inline] __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:893 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f } ... key at: [] evdev_open.__key.24+0x0/0x20 ... acquired at: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:351 [inline] evdev_handle_get_val+0x67/0x820 drivers/input/evdev.c:891 evdev_ioctl_handler+0x135c/0x21b0 drivers/input/evdev.c:1263 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:907 [inline] __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:893 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f -> (&dev->event_lock#2){..-.}-{2:2} { IN-SOFTIRQ-W at: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162 input_inject_event+0xc5/0x340 drivers/input/input.c:423 kd_sound_helper+0x101/0x210 drivers/tty/vt/keyboard.c:256 input_handler_for_each_handle+0x103/0x1d0 drivers/input/input.c:2679 call_timer_fn+0x18e/0x650 kernel/time/timer.c:1792 expire_timers kernel/time/timer.c:1843 [inline] __run_timers kernel/time/timer.c:2417 [inline] __run_timer_base+0x66a/0x8e0 kernel/time/timer.c:2428 run_timer_base kernel/time/timer.c:2437 [inline] run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2447 handle_softirqs+0x2c4/0x970 kernel/softirq.c:554 __do_softirq kernel/softirq.c:588 [inline] invoke_softirq kernel/softirq.c:428 [inline] __irq_exit_rcu+0xf4/0x1c0 kernel/softirq.c:637 irq_exit_rcu+0x9/0x30 kernel/softirq.c:649 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline] sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1043 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 __schedule+0x0/0x4a10 preempt_schedule_common+0x84/0xd0 kernel/sched/core.c:6708 preempt_schedule+0xe1/0xf0 kernel/sched/core.c:6732 preempt_schedule_thunk+0x1a/0x30 arch/x86/entry/thunk.S:12 __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline] _raw_spin_unlock_irqrestore+0x130/0x140 kernel/locking/spinlock.c:194 spin_unlock_irqrestore include/linux/spinlock.h:406 [inline] usb_hcd_poll_rh_status+0x3c4/0x5a0 drivers/usb/core/hcd.c:762 dummy_pullup+0x19a/0x200 drivers/usb/gadget/udc/dummy_hcd.c:926 usb_gadget_disconnect_locked+0x13c/0x4b0 drivers/usb/gadget/udc/core.c:777 gadget_unbind_driver+0xca/0x460 drivers/usb/gadget/udc/core.c:1666 device_remove drivers/base/dd.c:566 [inline] __device_release_driver drivers/base/dd.c:1272 [inline] device_release_driver_internal+0x4a9/0x7c0 drivers/base/dd.c:1295 driver_detach+0x1fb/0x2d0 drivers/base/dd.c:1358 bus_remove_driver+0x1f3/0x320 drivers/base/bus.c:742 usb_gadget_unregister_driver+0x4e/0x70 drivers/usb/gadget/udc/core.c:1731 raw_release+0xf9/0x1e0 drivers/usb/gadget/legacy/raw_gadget.c:462 __fput+0x24a/0x8a0 fs/file_table.c:422 task_work_run+0x24f/0x310 kernel/task_work.c:228 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop kernel/entry/common.c:114 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline] syscall_exit_to_user_mode+0x168/0x370 kernel/entry/common.c:218 do_syscall_64+0x100/0x230 arch/x86/entry/common.c:89 entry_SYSCALL_64_after_hwframe+0x77/0x7f INITIAL USE at: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162 input_inject_event+0xc5/0x340 drivers/input/input.c:423 kbd_led_trigger_activate+0xb8/0x100 drivers/tty/vt/keyboard.c:1036 led_trigger_set+0x582/0x9c0 drivers/leds/led-triggers.c:212 led_match_default_trigger drivers/leds/led-triggers.c:269 [inline] led_trigger_set_default+0x229/0x260 drivers/leds/led-triggers.c:287 led_classdev_register_ext+0x6e6/0x8a0 drivers/leds/led-class.c:555 led_classdev_register include/linux/leds.h:273 [inline] input_leds_connect+0x489/0x630 drivers/input/input-leds.c:145 input_attach_handler drivers/input/input.c:1027 [inline] input_register_device+0xd3b/0x1110 drivers/input/input.c:2473 atkbd_connect+0x752/0xa00 drivers/input/keyboard/atkbd.c:1342 serio_connect_driver drivers/input/serio/serio.c:44 [inline] serio_driver_probe+0x7f/0xa0 drivers/input/serio/serio.c:775 really_probe+0x2b8/0xad0 drivers/base/dd.c:657 __driver_probe_device+0x1a2/0x390 drivers/base/dd.c:799 driver_probe_device+0x50/0x430 drivers/base/dd.c:829 __driver_attach+0x45f/0x710 drivers/base/dd.c:1215 bus_for_each_dev+0x239/0x2b0 drivers/base/bus.c:368 serio_attach_driver drivers/input/serio/serio.c:804 [inline] serio_handle_event+0x1c7/0x920 drivers/input/serio/serio.c:224 process_one_work kernel/workqueue.c:3231 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312 worker_thread+0x86d/0xd10 kernel/workqueue.c:3389 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 } ... key at: [] input_allocate_device.__key.5+0x0/0x20 ... acquired at: mark_lock+0x223/0x350 kernel/locking/lockdep.c:4677 __lock_acquire+0xbf9/0x2040 kernel/locking/lockdep.c:5096 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162 input_inject_event+0xc5/0x340 drivers/input/input.c:423 kd_sound_helper+0x101/0x210 drivers/tty/vt/keyboard.c:256 input_handler_for_each_handle+0x103/0x1d0 drivers/input/input.c:2679 call_timer_fn+0x18e/0x650 kernel/time/timer.c:1792 expire_timers kernel/time/timer.c:1843 [inline] __run_timers kernel/time/timer.c:2417 [inline] __run_timer_base+0x66a/0x8e0 kernel/time/timer.c:2428 run_timer_base kernel/time/timer.c:2437 [inline] run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2447 handle_softirqs+0x2c4/0x970 kernel/softirq.c:554 __do_softirq kernel/softirq.c:588 [inline] invoke_softirq kernel/softirq.c:428 [inline] __irq_exit_rcu+0xf4/0x1c0 kernel/softirq.c:637 irq_exit_rcu+0x9/0x30 kernel/softirq.c:649 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline] sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1043 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 __schedule+0x0/0x4a10 preempt_schedule_common+0x84/0xd0 kernel/sched/core.c:6708 preempt_schedule+0xe1/0xf0 kernel/sched/core.c:6732 preempt_schedule_thunk+0x1a/0x30 arch/x86/entry/thunk.S:12 __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline] _raw_spin_unlock_irqrestore+0x130/0x140 kernel/locking/spinlock.c:194 spin_unlock_irqrestore include/linux/spinlock.h:406 [inline] usb_hcd_poll_rh_status+0x3c4/0x5a0 drivers/usb/core/hcd.c:762 dummy_pullup+0x19a/0x200 drivers/usb/gadget/udc/dummy_hcd.c:926 usb_gadget_disconnect_locked+0x13c/0x4b0 drivers/usb/gadget/udc/core.c:777 gadget_unbind_driver+0xca/0x460 drivers/usb/gadget/udc/core.c:1666 device_remove drivers/base/dd.c:566 [inline] __device_release_driver drivers/base/dd.c:1272 [inline] device_release_driver_internal+0x4a9/0x7c0 drivers/base/dd.c:1295 driver_detach+0x1fb/0x2d0 drivers/base/dd.c:1358 bus_remove_driver+0x1f3/0x320 drivers/base/bus.c:742 usb_gadget_unregister_driver+0x4e/0x70 drivers/usb/gadget/udc/core.c:1731 raw_release+0xf9/0x1e0 drivers/usb/gadget/legacy/raw_gadget.c:462 __fput+0x24a/0x8a0 fs/file_table.c:422 task_work_run+0x24f/0x310 kernel/task_work.c:228 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop kernel/entry/common.c:114 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline] syscall_exit_to_user_mode+0x168/0x370 kernel/entry/common.c:218 do_syscall_64+0x100/0x230 arch/x86/entry/common.c:89 entry_SYSCALL_64_after_hwframe+0x77/0x7f stack backtrace: CPU: 0 UID: 0 PID: 16594 Comm: syz.2.2243 Not tainted 6.11.0-rc7-syzkaller-00020-g8d8d276ba2fb #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 Call Trace: __dump_stack lib/dump_stack.c:93 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119 mark_lock_irq+0x80c/0xc20 kernel/locking/lockdep.c:4242 mark_lock+0x223/0x350 kernel/locking/lockdep.c:4677 __lock_acquire+0xbf9/0x2040 kernel/locking/lockdep.c:5096 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162 input_inject_event+0xc5/0x340 drivers/input/input.c:423 kd_sound_helper+0x101/0x210 drivers/tty/vt/keyboard.c:256 input_handler_for_each_handle+0x103/0x1d0 drivers/input/input.c:2679 call_timer_fn+0x18e/0x650 kernel/time/timer.c:1792 expire_timers kernel/time/timer.c:1843 [inline] __run_timers kernel/time/timer.c:2417 [inline] __run_timer_base+0x66a/0x8e0 kernel/time/timer.c:2428 run_timer_base kernel/time/timer.c:2437 [inline] run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2447 handle_softirqs+0x2c4/0x970 kernel/softirq.c:554 __do_softirq kernel/softirq.c:588 [inline] invoke_softirq kernel/softirq.c:428 [inline] __irq_exit_rcu+0xf4/0x1c0 kernel/softirq.c:637 irq_exit_rcu+0x9/0x30 kernel/softirq.c:649 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline] sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1043 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 RIP: 0010:__schedule+0x0/0x4a10 kernel/sched/core.c:6399 Code: 00 00 00 48 c7 c7 e0 94 de 8f e8 db 64 3e f6 c3 cc cc cc cc cc cc cc cc cc cc 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1e fa 55 48 89 e5 41 57 41 56 41 55 41 54 53 48 83 e4 e0 48 RSP: 0018:ffffc90008d6f898 EFLAGS: 00000246 RAX: 1ffff1100665ba19 RBX: ffff8880332dd0c8 RCX: ffffffff8bbb5800 RDX: dffffc0000000000 RSI: ffffffff8bead560 RDI: 0000000000000001 RBP: ffffc90008d6f958 R08: ffffffff93fa693f R09: 1ffffffff27f4d27 R10: dffffc0000000000 R11: fffffbfff27f4d28 R12: 1ffff920011adf1c R13: 1ffff920011adf38 R14: ffffffff8bb98681 R15: dffffc0000000000 preempt_schedule_common+0x84/0xd0 kernel/sched/core.c:6708 preempt_schedule+0xe1/0xf0 kernel/sched/core.c:6732 preempt_schedule_thunk+0x1a/0x30 arch/x86/entry/thunk.S:12 __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline] _raw_spin_unlock_irqrestore+0x130/0x140 kernel/locking/spinlock.c:194 spin_unlock_irqrestore include/linux/spinlock.h:406 [inline] usb_hcd_poll_rh_status+0x3c4/0x5a0 drivers/usb/core/hcd.c:762 dummy_pullup+0x19a/0x200 drivers/usb/gadget/udc/dummy_hcd.c:926 usb_gadget_disconnect_locked+0x13c/0x4b0 drivers/usb/gadget/udc/core.c:777 gadget_unbind_driver+0xca/0x460 drivers/usb/gadget/udc/core.c:1666 device_remove drivers/base/dd.c:566 [inline] __device_release_driver drivers/base/dd.c:1272 [inline] device_release_driver_internal+0x4a9/0x7c0 drivers/base/dd.c:1295 driver_detach+0x1fb/0x2d0 drivers/base/dd.c:1358 bus_remove_driver+0x1f3/0x320 drivers/base/bus.c:742 usb_gadget_unregister_driver+0x4e/0x70 drivers/usb/gadget/udc/core.c:1731 raw_release+0xf9/0x1e0 drivers/usb/gadget/legacy/raw_gadget.c:462 __fput+0x24a/0x8a0 fs/file_table.c:422 task_work_run+0x24f/0x310 kernel/task_work.c:228 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop kernel/entry/common.c:114 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline] syscall_exit_to_user_mode+0x168/0x370 kernel/entry/common.c:218 do_syscall_64+0x100/0x230 arch/x86/entry/common.c:89 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f5fc1f7def9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 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 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ffc8e053a38 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4 RAX: 0000000000000000 RBX: 00007f5fc2137a80 RCX: 00007f5fc1f7def9 RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003 RBP: 00007f5fc2137a80 R08: 00007f5fc2122000 R09: 00007ffc8e053d2f R10: 00000000005eb934 R11: 0000000000000246 R12: 0000000000050550 R13: 00007ffc8e053b40 R14: 0000000000000032 R15: ffffffffffffffff cm109 3-1:0.8: cm109_urb_ctl_callback: urb status -71 cm109 3-1:0.8: cm109_urb_ctl_callback: urb status -71 cm109 3-1:0.8: cm109_urb_ctl_callback: urb status -71 cm109 3-1:0.8: cm109_urb_ctl_callback: urb status -71 cm109 3-1:0.8: cm109_urb_ctl_callback: urb status -71 cm109 3-1:0.8: cm109_urb_ctl_callback: urb status -71 IPVS: dh: UDP 224.0.0.2:0 - no destination available cm109 3-1:0.8: cm109_submit_buzz_toggle: usb_submit_urb (urb_ctl) failed -19 ---------------- Code disassembly (best guess), 1 bytes skipped: 0: 00 00 add %al,(%rax) 2: 48 c7 c7 e0 94 de 8f mov $0xffffffff8fde94e0,%rdi 9: e8 db 64 3e f6 call 0xf63e64e9 e: c3 ret f: cc int3 10: cc int3 11: cc int3 12: cc int3 13: cc int3 14: cc int3 15: cc int3 16: cc int3 17: cc int3 18: cc int3 19: 90 nop 1a: 90 nop 1b: 90 nop 1c: 90 nop 1d: 90 nop 1e: 90 nop 1f: 90 nop 20: 90 nop 21: 90 nop 22: 90 nop 23: 90 nop 24: 90 nop 25: 90 nop 26: 90 nop 27: 90 nop 28: 90 nop * 29: f3 0f 1e fa endbr64 <-- trapping instruction 2d: 55 push %rbp 2e: 48 89 e5 mov %rsp,%rbp 31: 41 57 push %r15 33: 41 56 push %r14 35: 41 55 push %r13 37: 41 54 push %r12 39: 53 push %rbx 3a: 48 83 e4 e0 and $0xffffffffffffffe0,%rsp 3e: 48 rex.W