syzbot


possible deadlock in input_event (2)
Status: upstream: reported C repro on 2021/11/10 17:01
Reported-by: syzbot+d4c06e848a1c1f9f726f@syzkaller.appspotmail.com
First crash: 195d, last: 20h04m

Cause bisection: the issue happens on the oldest tested release (bisect log)
Crash: possible deadlock in input_event (log)
Repro: C syz .config
similar bugs (1):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream possible deadlock in input_event C done 2740 196d 500d 0/22 closed as dup on 2021/07/07 07:31

Sample crash report:
=====================================================
WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected
5.18.0-rc4-syzkaller-00036-gcf424ef014ac #0 Not tainted
-----------------------------------------------------
syz-executor174/3596 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
ffffffff8c80a058 (tasklist_lock){.+.+}-{2:2}, at: send_sigio+0xbe/0x300 fs/fcntl.c:792

and this task is already holding:
ffff88801e7bda30 (&f->f_owner.lock){....}-{2:2}, at: send_sigio+0x2f/0x300 fs/fcntl.c:778
which would create a new lock dependency:
 (&f->f_owner.lock){....}-{2:2} -> (tasklist_lock){.+.+}-{2:2}

but this new dependency connects a HARDIRQ-irq-safe lock:
 (&dev->event_lock#2){-...}-{2:2}

... which became HARDIRQ-irq-safe at:
  lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
  __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
  _raw_spin_lock_irqsave+0xd1/0x120 kernel/locking/spinlock.c:162
  input_event+0x87/0xb0 drivers/input/input.c:456
  input_report_key include/linux/input.h:425 [inline]
  psmouse_report_standard_buttons drivers/input/mouse/psmouse-base.c:123 [inline]
  psmouse_report_standard_packet+0x4f/0x200 drivers/input/mouse/psmouse-base.c:141
  psmouse_process_byte+0x447/0x630 drivers/input/mouse/psmouse-base.c:232
  psmouse_handle_byte+0x44/0x4a0 drivers/input/mouse/psmouse-base.c:274
  psmouse_interrupt+0x68a/0x1080 drivers/input/mouse/psmouse-base.c:426
  serio_interrupt+0x88/0x130 drivers/input/serio/serio.c:1001
  i8042_interrupt+0x32d/0x710 drivers/input/serio/i8042.c:606
  __handle_irq_event_percpu+0x200/0x620 kernel/irq/handle.c:158
  handle_irq_event_percpu kernel/irq/handle.c:193 [inline]
  handle_irq_event+0x83/0x1e0 kernel/irq/handle.c:210
  handle_edge_irq+0x245/0xbe0 kernel/irq/chip.c:817
  generic_handle_irq_desc include/linux/irqdesc.h:158 [inline]
  handle_irq arch/x86/kernel/irq.c:231 [inline]
  __common_interrupt+0xce/0x1e0 arch/x86/kernel/irq.c:250
  common_interrupt+0x9f/0xc0 arch/x86/kernel/irq.c:240
  asm_common_interrupt+0x1e/0x40
  slab_alloc mm/slub.c:3225 [inline]
  __kmalloc+0x19e/0x370 mm/slub.c:4410
  kmalloc include/linux/slab.h:586 [inline]
  kzalloc include/linux/slab.h:714 [inline]
  kobject_get_path+0xbb/0x1f0 lib/kobject.c:147
  kobject_uevent_env+0x355/0x8e0 lib/kobject_uevent.c:529
  driver_register+0x399/0x3e0 drivers/base/driver.c:179
  usb_register_driver+0x205/0x3d0 drivers/usb/core/driver.c:1062
  do_one_initcall+0xbd/0x2b0 init/main.c:1298
  do_initcall_level+0x168/0x218 init/main.c:1371
  do_initcalls+0x4b/0x8c init/main.c:1387
  kernel_init_freeable+0x43a/0x5c3 init/main.c:1613
  kernel_init+0x19/0x2b0 init/main.c:1502
  ret_from_fork+0x1f/0x30

to a HARDIRQ-irq-unsafe lock:
 (tasklist_lock){.+.+}-{2:2}

... which became HARDIRQ-irq-unsafe at:
...
  lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
  __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline]
  _raw_read_lock+0x32/0x40 kernel/locking/spinlock.c:228
  do_wait+0x224/0x9d0 kernel/exit.c:1508
  kernel_wait+0xe4/0x230 kernel/exit.c:1698
  call_usermodehelper_exec_sync kernel/umh.c:139 [inline]
  call_usermodehelper_exec_work+0xb4/0x220 kernel/umh.c:166
  process_one_work+0x81c/0xd10 kernel/workqueue.c:2289
  worker_thread+0xb14/0x1330 kernel/workqueue.c:2436
  kthread+0x266/0x300 kernel/kthread.c:376
  ret_from_fork+0x1f/0x30

other info that might help us debug this:

Chain exists of:
  &dev->event_lock#2 --> &f->f_owner.lock --> tasklist_lock

 Possible interrupt unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(tasklist_lock);
                               local_irq_disable();
                               lock(&dev->event_lock#2);
                               lock(&f->f_owner.lock);
  <Interrupt>
    lock(&dev->event_lock#2);

 *** DEADLOCK ***

5 locks held by syz-executor174/3596:
 #0: ffffffff8cb1afe0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:267
 #1: ffffffff8cb1afe0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:267
 #2: ffffffff8cb1afe0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 include/linux/rcupdate.h:267
 #3: ffff8880796f20c0 (&new->fa_lock){....}-{2:2}, at: kill_fasync_rcu fs/fcntl.c:996 [inline]
 #3: ffff8880796f20c0 (&new->fa_lock){....}-{2:2}, at: kill_fasync+0x13b/0x430 fs/fcntl.c:1017
 #4: ffff88801e7bda30 (&f->f_owner.lock){....}-{2:2}, at: send_sigio+0x2f/0x300 fs/fcntl.c:778

the dependencies between HARDIRQ-irq-safe lock and the holding lock:
   -> (&dev->event_lock#2){-...}-{2:2} {
      IN-HARDIRQ-W at:
                          lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
                          __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
                          _raw_spin_lock_irqsave+0xd1/0x120 kernel/locking/spinlock.c:162
                          input_event+0x87/0xb0 drivers/input/input.c:456
                          input_report_key include/linux/input.h:425 [inline]
                          psmouse_report_standard_buttons drivers/input/mouse/psmouse-base.c:123 [inline]
                          psmouse_report_standard_packet+0x4f/0x200 drivers/input/mouse/psmouse-base.c:141
                          psmouse_process_byte+0x447/0x630 drivers/input/mouse/psmouse-base.c:232
                          psmouse_handle_byte+0x44/0x4a0 drivers/input/mouse/psmouse-base.c:274
                          psmouse_interrupt+0x68a/0x1080 drivers/input/mouse/psmouse-base.c:426
                          serio_interrupt+0x88/0x130 drivers/input/serio/serio.c:1001
                          i8042_interrupt+0x32d/0x710 drivers/input/serio/i8042.c:606
                          __handle_irq_event_percpu+0x200/0x620 kernel/irq/handle.c:158
                          handle_irq_event_percpu kernel/irq/handle.c:193 [inline]
                          handle_irq_event+0x83/0x1e0 kernel/irq/handle.c:210
                          handle_edge_irq+0x245/0xbe0 kernel/irq/chip.c:817
                          generic_handle_irq_desc include/linux/irqdesc.h:158 [inline]
                          handle_irq arch/x86/kernel/irq.c:231 [inline]
                          __common_interrupt+0xce/0x1e0 arch/x86/kernel/irq.c:250
                          common_interrupt+0x9f/0xc0 arch/x86/kernel/irq.c:240
                          asm_common_interrupt+0x1e/0x40
                          slab_alloc mm/slub.c:3225 [inline]
                          __kmalloc+0x19e/0x370 mm/slub.c:4410
                          kmalloc include/linux/slab.h:586 [inline]
                          kzalloc include/linux/slab.h:714 [inline]
                          kobject_get_path+0xbb/0x1f0 lib/kobject.c:147
                          kobject_uevent_env+0x355/0x8e0 lib/kobject_uevent.c:529
                          driver_register+0x399/0x3e0 drivers/base/driver.c:179
                          usb_register_driver+0x205/0x3d0 drivers/usb/core/driver.c:1062
                          do_one_initcall+0xbd/0x2b0 init/main.c:1298
                          do_initcall_level+0x168/0x218 init/main.c:1371
                          do_initcalls+0x4b/0x8c init/main.c:1387
                          kernel_init_freeable+0x43a/0x5c3 init/main.c:1613
                          kernel_init+0x19/0x2b0 init/main.c:1502
                          ret_from_fork+0x1f/0x30
      INITIAL USE at:
                         lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
                         __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
                         _raw_spin_lock_irqsave+0xd1/0x120 kernel/locking/spinlock.c:162
                         input_inject_event+0xb2/0x270 drivers/input/input.c:482
                         led_trigger_event+0xdb/0x190 drivers/leds/led-triggers.c:390
                         kbd_led_trigger_activate+0xb8/0x100 drivers/tty/vt/keyboard.c:1036
                         led_trigger_set+0x53b/0x910 drivers/leds/led-triggers.c:197
                         led_trigger_set_default+0x1d1/0x210 drivers/leds/led-triggers.c:262
                         led_classdev_register_ext+0x600/0x7f0 drivers/leds/led-class.c:415
                         led_classdev_register include/linux/leds.h:196 [inline]
                         input_leds_connect+0x55d/0x780 drivers/input/input-leds.c:139
                         input_attach_handler drivers/input/input.c:1082 [inline]
                         input_register_device+0xd90/0x1150 drivers/input/input.c:2387
                         atkbd_connect+0x796/0xa60 drivers/input/keyboard/atkbd.c:1282
                         serio_connect_driver drivers/input/serio/serio.c:47 [inline]
                         serio_driver_probe+0x76/0x90 drivers/input/serio/serio.c:778
                         call_driver_probe+0x96/0x250
                         really_probe+0x222/0x8e0 drivers/base/dd.c:621
                         __driver_probe_device+0x1f4/0x3f0 drivers/base/dd.c:752
                         driver_probe_device+0x50/0x240 drivers/base/dd.c:782
                         __driver_attach+0x35c/0x520 drivers/base/dd.c:1141
                         bus_for_each_dev+0x188/0x1f0 drivers/base/bus.c:301
                         serio_attach_driver drivers/input/serio/serio.c:807 [inline]
                         serio_handle_event+0x8bc/0x1060 drivers/input/serio/serio.c:227
                         process_one_work+0x81c/0xd10 kernel/workqueue.c:2289
                         worker_thread+0xb14/0x1330 kernel/workqueue.c:2436
                         kthread+0x266/0x300 kernel/kthread.c:376
                         ret_from_fork+0x1f/0x30
    }
    ... key      at: [<ffffffff90f42a40>] input_allocate_device.__key.6+0x0/0x20
  -> (&client->buffer_lock){....}-{2:2} {
     INITIAL USE at:
                       lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
                       __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
                       _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:154
                       spin_lock include/linux/spinlock.h:349 [inline]
                       evdev_pass_values+0xe7/0xb70 drivers/input/evdev.c:261
                       evdev_events+0x195/0x280 drivers/input/evdev.c:306
                       input_to_handler drivers/input/input.c:126 [inline]
                       input_pass_values+0x875/0x11e0 drivers/input/input.c:156
                       input_handle_event+0xbe3/0x1520 drivers/input/input.c:415
                       input_inject_event+0x187/0x270 drivers/input/input.c:487
                       evdev_write+0x685/0x7d0 drivers/input/evdev.c:530
                       vfs_write+0x303/0xd40 fs/read_write.c:589
                       ksys_write+0x19b/0x2c0 fs/read_write.c:644
                       do_syscall_x64 arch/x86/entry/common.c:50 [inline]
                       do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
                       entry_SYSCALL_64_after_hwframe+0x44/0xae
   }
   ... key      at: [<ffffffff90f42d00>] evdev_open.__key.22+0x0/0x20
   ... acquired at:
   lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
   __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
   _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:154
   spin_lock include/linux/spinlock.h:349 [inline]
   evdev_pass_values+0xe7/0xb70 drivers/input/evdev.c:261
   evdev_events+0x195/0x280 drivers/input/evdev.c:306
   input_to_handler drivers/input/input.c:126 [inline]
   input_pass_values+0x875/0x11e0 drivers/input/input.c:156
   input_handle_event+0xbe3/0x1520 drivers/input/input.c:415
   input_inject_event+0x187/0x270 drivers/input/input.c:487
   evdev_write+0x685/0x7d0 drivers/input/evdev.c:530
   vfs_write+0x303/0xd40 fs/read_write.c:589
   ksys_write+0x19b/0x2c0 fs/read_write.c:644
   do_syscall_x64 arch/x86/entry/common.c:50 [inline]
   do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
   entry_SYSCALL_64_after_hwframe+0x44/0xae

 -> (&new->fa_lock){....}-{2:2} {
    INITIAL READ USE at:
                          lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
                          __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline]
                          _raw_read_lock_irqsave+0xd9/0x120 kernel/locking/spinlock.c:236
                          kill_fasync_rcu fs/fcntl.c:996 [inline]
                          kill_fasync+0x13b/0x430 fs/fcntl.c:1017
                          __pass_event drivers/input/evdev.c:240 [inline]
                          evdev_pass_values+0x5df/0xb70 drivers/input/evdev.c:278
                          evdev_events+0x195/0x280 drivers/input/evdev.c:306
                          input_to_handler drivers/input/input.c:126 [inline]
                          input_pass_values+0x875/0x11e0 drivers/input/input.c:156
                          input_handle_event+0xbe3/0x1520 drivers/input/input.c:415
                          input_inject_event+0x187/0x270 drivers/input/input.c:487
                          evdev_write+0x685/0x7d0 drivers/input/evdev.c:530
                          vfs_write+0x303/0xd40 fs/read_write.c:589
                          ksys_write+0x19b/0x2c0 fs/read_write.c:644
                          do_syscall_x64 arch/x86/entry/common.c:50 [inline]
                          do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
                          entry_SYSCALL_64_after_hwframe+0x44/0xae
  }
  ... key      at: [<ffffffff90c43940>] fasync_insert_entry.__key+0x0/0x20
  ... acquired at:
   lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
   __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline]
   _raw_read_lock_irqsave+0xd9/0x120 kernel/locking/spinlock.c:236
   kill_fasync_rcu fs/fcntl.c:996 [inline]
   kill_fasync+0x13b/0x430 fs/fcntl.c:1017
   __pass_event drivers/input/evdev.c:240 [inline]
   evdev_pass_values+0x5df/0xb70 drivers/input/evdev.c:278
   evdev_events+0x195/0x280 drivers/input/evdev.c:306
   input_to_handler drivers/input/input.c:126 [inline]
   input_pass_values+0x875/0x11e0 drivers/input/input.c:156
   input_handle_event+0xbe3/0x1520 drivers/input/input.c:415
   input_inject_event+0x187/0x270 drivers/input/input.c:487
   evdev_write+0x685/0x7d0 drivers/input/evdev.c:530
   vfs_write+0x303/0xd40 fs/read_write.c:589
   ksys_write+0x19b/0x2c0 fs/read_write.c:644
   do_syscall_x64 arch/x86/entry/common.c:50 [inline]
   do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
   entry_SYSCALL_64_after_hwframe+0x44/0xae

-> (&f->f_owner.lock){....}-{2:2} {
   INITIAL USE at:
                   lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
                   __raw_write_lock_irq include/linux/rwlock_api_smp.h:195 [inline]
                   _raw_write_lock_irq+0xcf/0x110 kernel/locking/spinlock.c:326
                   f_modown+0x38/0x340 fs/fcntl.c:91
                   __f_setown fs/fcntl.c:110 [inline]
                   f_setown+0x113/0x1a0 fs/fcntl.c:138
                   sock_ioctl+0x591/0x770 net/socket.c:1182
                   vfs_ioctl fs/ioctl.c:51 [inline]
                   __do_sys_ioctl fs/ioctl.c:870 [inline]
                   __se_sys_ioctl+0xfb/0x170 fs/ioctl.c:856
                   do_syscall_x64 arch/x86/entry/common.c:50 [inline]
                   do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
                   entry_SYSCALL_64_after_hwframe+0x44/0xae
   INITIAL READ USE at:
                        lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
                        __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline]
                        _raw_read_lock_irqsave+0xd9/0x120 kernel/locking/spinlock.c:236
                        send_sigio+0x2f/0x300 fs/fcntl.c:778
                        kill_fasync_rcu fs/fcntl.c:1003 [inline]
                        kill_fasync+0x1e4/0x430 fs/fcntl.c:1017
                        __pass_event drivers/input/evdev.c:240 [inline]
                        evdev_pass_values+0x5df/0xb70 drivers/input/evdev.c:278
                        evdev_events+0x195/0x280 drivers/input/evdev.c:306
                        input_to_handler drivers/input/input.c:126 [inline]
                        input_pass_values+0x875/0x11e0 drivers/input/input.c:156
                        input_handle_event+0xbe3/0x1520 drivers/input/input.c:415
                        input_inject_event+0x187/0x270 drivers/input/input.c:487
                        evdev_write+0x685/0x7d0 drivers/input/evdev.c:530
                        vfs_write+0x303/0xd40 fs/read_write.c:589
                        ksys_write+0x19b/0x2c0 fs/read_write.c:644
                        do_syscall_x64 arch/x86/entry/common.c:50 [inline]
                        do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
                        entry_SYSCALL_64_after_hwframe+0x44/0xae
 }
 ... key      at: [<ffffffff90c42cc0>] __alloc_file.__key+0x0/0x10
 ... acquired at:
   lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
   __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline]
   _raw_read_lock_irqsave+0xd9/0x120 kernel/locking/spinlock.c:236
   send_sigio+0x2f/0x300 fs/fcntl.c:778
   kill_fasync_rcu fs/fcntl.c:1003 [inline]
   kill_fasync+0x1e4/0x430 fs/fcntl.c:1017
   __pass_event drivers/input/evdev.c:240 [inline]
   evdev_pass_values+0x5df/0xb70 drivers/input/evdev.c:278
   evdev_events+0x195/0x280 drivers/input/evdev.c:306
   input_to_handler drivers/input/input.c:126 [inline]
   input_pass_values+0x875/0x11e0 drivers/input/input.c:156
   input_handle_event+0xbe3/0x1520 drivers/input/input.c:415
   input_inject_event+0x187/0x270 drivers/input/input.c:487
   evdev_write+0x685/0x7d0 drivers/input/evdev.c:530
   vfs_write+0x303/0xd40 fs/read_write.c:589
   ksys_write+0x19b/0x2c0 fs/read_write.c:644
   do_syscall_x64 arch/x86/entry/common.c:50 [inline]
   do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
   entry_SYSCALL_64_after_hwframe+0x44/0xae


the dependencies between the lock to be acquired
 and HARDIRQ-irq-unsafe lock:
-> (tasklist_lock){.+.+}-{2:2} {
   HARDIRQ-ON-R at:
                    lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
                    __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline]
                    _raw_read_lock+0x32/0x40 kernel/locking/spinlock.c:228
                    do_wait+0x224/0x9d0 kernel/exit.c:1508
                    kernel_wait+0xe4/0x230 kernel/exit.c:1698
                    call_usermodehelper_exec_sync kernel/umh.c:139 [inline]
                    call_usermodehelper_exec_work+0xb4/0x220 kernel/umh.c:166
                    process_one_work+0x81c/0xd10 kernel/workqueue.c:2289
                    worker_thread+0xb14/0x1330 kernel/workqueue.c:2436
                    kthread+0x266/0x300 kernel/kthread.c:376
                    ret_from_fork+0x1f/0x30
   SOFTIRQ-ON-R at:
                    lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
                    __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline]
                    _raw_read_lock+0x32/0x40 kernel/locking/spinlock.c:228
                    do_wait+0x224/0x9d0 kernel/exit.c:1508
                    kernel_wait+0xe4/0x230 kernel/exit.c:1698
                    call_usermodehelper_exec_sync kernel/umh.c:139 [inline]
                    call_usermodehelper_exec_work+0xb4/0x220 kernel/umh.c:166
                    process_one_work+0x81c/0xd10 kernel/workqueue.c:2289
                    worker_thread+0xb14/0x1330 kernel/workqueue.c:2436
                    kthread+0x266/0x300 kernel/kthread.c:376
                    ret_from_fork+0x1f/0x30
   INITIAL USE at:
                   lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
                   __raw_write_lock_irq include/linux/rwlock_api_smp.h:195 [inline]
                   _raw_write_lock_irq+0xcf/0x110 kernel/locking/spinlock.c:326
                   copy_process+0x234d/0x3f70 kernel/fork.c:2368
                   kernel_clone+0x22f/0x7a0 kernel/fork.c:2639
                   kernel_thread+0x167/0x1e0 kernel/fork.c:2691
                   rest_init+0x21/0x2e0 init/main.c:691
                   start_kernel+0x4bf/0x56e init/main.c:1140
                   secondary_startup_64_no_verify+0xc4/0xcb
   INITIAL READ USE at:
                        lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
                        __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline]
                        _raw_read_lock+0x32/0x40 kernel/locking/spinlock.c:228
                        do_wait+0x224/0x9d0 kernel/exit.c:1508
                        kernel_wait+0xe4/0x230 kernel/exit.c:1698
                        call_usermodehelper_exec_sync kernel/umh.c:139 [inline]
                        call_usermodehelper_exec_work+0xb4/0x220 kernel/umh.c:166
                        process_one_work+0x81c/0xd10 kernel/workqueue.c:2289
                        worker_thread+0xb14/0x1330 kernel/workqueue.c:2436
                        kthread+0x266/0x300 kernel/kthread.c:376
                        ret_from_fork+0x1f/0x30
 }
 ... key      at: [<ffffffff8c80a058>] tasklist_lock+0x18/0x40
 ... acquired at:
   lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
   __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline]
   _raw_read_lock+0x32/0x40 kernel/locking/spinlock.c:228
   send_sigio+0xbe/0x300 fs/fcntl.c:792
   kill_fasync_rcu fs/fcntl.c:1003 [inline]
   kill_fasync+0x1e4/0x430 fs/fcntl.c:1017
   sock_wake_async+0x130/0x150
   rcu_read_unlock include/linux/rcupdate.h:723 [inline]
   sk_wake_async+0x12e/0x200 include/net/sock.h:2459
   sock_def_readable+0x152/0x200 net/core/sock.c:3164
   unix_dgram_sendmsg+0x1553/0x1fc0 net/unix/af_unix.c:2029
   sock_sendmsg_nosec net/socket.c:705 [inline]
   sock_sendmsg net/socket.c:725 [inline]
   ____sys_sendmsg+0x597/0x8e0 net/socket.c:2413
   ___sys_sendmsg net/socket.c:2467 [inline]
   __sys_sendmmsg+0x3d7/0x770 net/socket.c:2553
   __do_sys_sendmmsg net/socket.c:2582 [inline]
   __se_sys_sendmmsg net/socket.c:2579 [inline]
   __x64_sys_sendmmsg+0x9c/0xb0 net/socket.c:2579
   do_syscall_x64 arch/x86/entry/common.c:50 [inline]
   do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
   entry_SYSCALL_64_after_hwframe+0x44/0xae


stack backtrace:
CPU: 0 PID: 3596 Comm: syz-executor174 Not tainted 5.18.0-rc4-syzkaller-00036-gcf424ef014ac #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 <TASK>
 __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:2579 [inline]
 check_irq_usage kernel/locking/lockdep.c:2818 [inline]
 check_prev_add kernel/locking/lockdep.c:3069 [inline]
 check_prevs_add kernel/locking/lockdep.c:3188 [inline]
 validate_chain+0x571e/0x65c0 kernel/locking/lockdep.c:3803
 __lock_acquire+0x129a/0x1f80 kernel/locking/lockdep.c:5029
 lock_acquire+0x1a7/0x400 kernel/locking/lockdep.c:5641
 __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline]
 _raw_read_lock+0x32/0x40 kernel/locking/spinlock.c:228
 send_sigio+0xbe/0x300 fs/fcntl.c:792
 kill_fasync_rcu fs/fcntl.c:1003 [inline]
 kill_fasync+0x1e4/0x430 fs/fcntl.c:1017
 sock_wake_async+0x130/0x150
 rcu_read_unlock include/linux/rcupdate.h:723 [inline]
 sk_wake_async+0x12e/0x200 include/net/sock.h:2459
 sock_def_readable+0x152/0x200 net/core/sock.c:3164
 unix_dgram_sendmsg+0x1553/0x1fc0 net/unix/af_unix.c:2029
 sock_sendmsg_nosec net/socket.c:705 [inline]
 sock_sendmsg net/socket.c:725 [inline]
 ____sys_sendmsg+0x597/0x8e0 net/socket.c:2413
 ___sys_sendmsg net/socket.c:2467 [inline]
 __sys_sendmmsg+0x3d7/0x770 net/socket.c:2553
 __do_sys_sendmmsg net/socket.c:2582 [inline]
 __se_sys_sendmmsg net/socket.c:2579 [inline]
 __x64_sys_sendmmsg+0x9c/0xb0 net/socket.c:2579
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7f35b1be7419
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 b1 14 00 00 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 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffe89aeb4c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000133
RAX: ffffffffffffffda RBX: 00007f35b1c2b090 RCX: 00007f35b1be7419
RDX: 0307017fdb7a66cb RSI: 0000000020002dc0 RDI: 0000000000000005
RBP: 0000000000000000 R08: 00007ffe89aeb668 R09: 00007ffe89aeb668
R10: 0000000000003ec0 R11: 0000000000000246 R12: 00007f35b1ba64a0
R13: 431bde82d7b634db R14: 0000000000000000 R15: 0000000000000000
 </TASK>

Crashes (637):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-kasan-gce-smack-root 2022/04/27 07:23 upstream cf424ef014ac 1fa34c1b .config log report syz C possible deadlock in input_event
ci-upstream-kasan-gce-root 2021/12/13 02:41 upstream 90d9fbc16b69 49ca1f59 .config log report syz C possible deadlock in input_event
ci-upstream-linux-next-kasan-gce-root 2022/04/24 13:37 linux-next f1244c81da13 131df97d .config log report syz C possible deadlock in input_event
ci-upstream-kasan-gce-selinux-root 2022/05/14 01:40 upstream ec7f49619d8e 107f6434 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-smack-root 2022/05/13 10:34 upstream f3f19f939c11 9ad6612a .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-smack-root 2022/05/13 08:28 upstream f3f19f939c11 9ad6612a .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-selinux-root 2022/05/12 19:08 upstream 0ac824f379fb 9ad6612a .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-smack-root 2022/05/12 19:02 upstream 0ac824f379fb 9ad6612a .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-root 2022/05/12 13:43 upstream feb9c5e19e91 9ad6612a .config log report info possible deadlock in input_event
ci-upstream-kasan-gce 2022/05/08 17:00 upstream 30c8e80f7932 e60b1103 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce 2022/05/05 07:33 upstream a7391ad35724 dc9e5259 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce 2022/05/05 00:26 upstream a7391ad35724 dc9e5259 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce 2022/05/04 22:51 upstream a7391ad35724 dc9e5259 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce 2022/05/04 19:33 upstream a7391ad35724 dc9e5259 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/24 01:32 upstream 1e57930e9f40 e7f9308d .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/23 10:31 upstream 4b0986a3613c 4c7657cb .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/23 06:03 upstream 4b0986a3613c 7268fa62 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/22 16:12 upstream eaea45fc0e7b 7268fa62 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/21 18:48 upstream 6c3f5bec9b40 7268fa62 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/21 10:13 upstream 3b5e1590a267 7268fa62 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/20 19:19 upstream 3d7285a335ed bd37ad7e .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/20 02:14 upstream b015dcd62b86 cb1ac2e7 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/19 16:49 upstream f993aed406ea 50c53f39 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/19 08:45 upstream f993aed406ea 50c53f39 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/18 21:53 upstream ef1302160bfb 50c53f39 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/18 19:45 upstream ef1302160bfb 50c53f39 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/18 02:44 upstream 210e04ff7681 744a39e2 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/16 16:44 upstream 42226c989789 744a39e2 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/16 08:54 upstream 42226c989789 744a39e2 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/16 06:33 upstream 42226c989789 744a39e2 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/15 19:39 upstream bc403203d65a 744a39e2 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/14 20:44 upstream 2fe1020d73ca 744a39e2 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/14 05:13 upstream ec7f49619d8e 107f6434 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/14 03:30 upstream ec7f49619d8e 107f6434 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/13 16:27 upstream f3f19f939c11 107f6434 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/13 12:35 upstream f3f19f939c11 107f6434 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/12 16:35 upstream feb9c5e19e91 9ad6612a .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/12 15:33 upstream feb9c5e19e91 9ad6612a .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/11 15:16 upstream feb9c5e19e91 beb0b407 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/10 13:31 upstream 9be9ed2612b5 8b277b8e .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/09 22:57 upstream 9be9ed2612b5 8b277b8e .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/09 12:35 upstream c5eb0a61238d 8b277b8e .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/09 09:07 upstream c5eb0a61238d e60b1103 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/09 00:30 upstream 379c72654524 e60b1103 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/08 14:52 upstream 30c8e80f7932 e60b1103 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/04 20:47 upstream a7391ad35724 dc9e5259 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/04 17:21 upstream 107c948d1d3e dc9e5259 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/04 09:43 upstream 107c948d1d3e dc9e5259 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2022/05/03 23:55 upstream ef8e4d3c2ab1 dc9e5259 .config log report info possible deadlock in input_event
ci-qemu-upstream-386 2022/04/16 22:57 upstream 90ea17a9e27b 8bcc32a6 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2021/11/10 12:51 upstream cb690f5238d7 75b04091 .config log report info possible deadlock in input_event
ci-upstream-kasan-gce-386 2021/11/10 04:33 upstream cb690f5238d7 55fa030c .config log report info possible deadlock in input_event
ci-upstream-linux-next-kasan-gce-root 2022/05/20 17:26 linux-next 18ecd30af1a8 bd37ad7e .config log report info possible deadlock in input_event
ci-upstream-linux-next-kasan-gce-root 2022/05/18 16:10 linux-next 3f7bdc402fb0 50c53f39 .config log report info possible deadlock in input_event
ci-upstream-linux-next-kasan-gce-root 2022/05/16 14:14 linux-next 3f7bdc402fb0 744a39e2 .config log report info possible deadlock in input_event
ci-upstream-linux-next-kasan-gce-root 2022/05/16 12:56 linux-next 3f7bdc402fb0 744a39e2 .config log report info possible deadlock in input_event
ci-upstream-linux-next-kasan-gce-root 2022/05/14 11:12 linux-next 1e1b28b936ae 744a39e2 .config log report info possible deadlock in input_event
ci-upstream-linux-next-kasan-gce-root 2022/05/14 10:05 linux-next 1e1b28b936ae 744a39e2 .config log report info possible deadlock in input_event
ci-upstream-linux-next-kasan-gce-root 2022/05/13 13:40 linux-next 1e1b28b936ae 107f6434 .config log report info possible deadlock in input_event