========================================================
WARNING: possible irq lock inversion dependency detected
5.14.0-rc6-syzkaller #0 Not tainted
--------------------------------------------------------
syz-executor.5/5593 just changed the state of lock:
ffff88801aa0ce38 (&f->f_owner.lock){.+..}-{2:2}, at: f_getown+0x23/0x2e0
but this lock was taken by another, HARDIRQ-safe lock in the past:
 (&dev->event_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 --> &new->fa_lock --> &f->f_owner.lock


 Possible interrupt unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&f->f_owner.lock);
                               local_irq_disable();
                               lock(&dev->event_lock
);
                               lock(&new->fa_lock);
  <Interrupt>
    lock(&dev->event_lock);

 *** DEADLOCK ***

no locks held by syz-executor.5/5593.

the shortest dependencies between 2nd lock and 1st lock:
   ->
 (&dev->event_lock){-...}-{2:2} {
      IN-HARDIRQ-W at:
                          lock_acquire+0x1a8/0x4e0
                          _raw_spin_lock_irqsave+0x36/0x50
                          input_event+0x7b/0xb0
                          psmouse_report_standard_buttons+0x2c/0x80
                          psmouse_process_byte+0x1df/0x8a0
                          psmouse_handle_byte+0x41/0x1a0
                          psmouse_interrupt+0x2fc/0xf30
                          serio_interrupt+0x89/0x150
                          i8042_interrupt+0x3e3/0x700
                          __handle_irq_event_percpu+0x303/0x960
                          handle_irq_event+0x102/0x280
                          handle_edge_irq+0x25d/0xcf0
                          __common_interrupt+0x9b/0x210
                          common_interrupt+0x9b/0xd0
                          asm_common_interrupt+0x1e/0x40
                          _raw_spin_unlock_irqrestore+0x31/0x50
                          i8042_aux_write+0x133/0x190
                          ps2_do_sendbyte+0x269/0x6c0
                          ps2_sendbyte+0x55/0x150
                          cypress_ps2_sendbyte+0x2e/0x160
                          cypress_send_ext_cmd+0x1df/0x890
                          cypress_detect+0x7c/0x190
                          psmouse_try_protocol+0x22e/0x390
                          psmouse_extensions+0x60f/0x950
                          psmouse_switch_protocol+0x528/0x740
                          psmouse_connect+0x609/0xf60
                          serio_driver_probe+0x6d/0x90
                          really_probe+0x256/0xd00
                          __driver_probe_device+0x355/0x4f0
                          driver_probe_device+0x4c/0x1e0
                          __driver_attach+0x284/0x520
                          bus_for_each_dev+0x148/0x1d0
                          serio_handle_event+0x607/0x920
                          process_one_work+0x9df/0x1640
                          worker_thread+0x67d/0x1220
                          kthread+0x3d0/0x4c0
                          ret_from_fork+0x1f/0x30
      INITIAL USE at:
                         lock_acquire+0x1a8/0x4e0
                         _raw_spin_lock_irqsave+0x36/0x50
                         input_inject_event+0xab/0x370
                         led_set_brightness_nosleep+0xe7/0x1a0
                         led_set_brightness+0x135/0x180
                         led_trigger_event+0x75/0xd0
                         kbd_led_trigger_activate+0xc2/0x100
                         led_trigger_set+0x578/0xbb0
                         led_trigger_set_default+0x1c5/0x220
                         led_classdev_register_ext+0x5f4/0x800
                         input_leds_connect+0x55e/0x830
                         input_attach_handler.isra.0+0x178/0x1e0
                         input_register_device.cold+0x107/0x35c
                         atkbd_connect+0x83a/0xb50
                         serio_driver_probe+0x6d/0x90
                         really_probe+0x256/0xd00
                         __driver_probe_device+0x355/0x4f0
                         driver_probe_device+0x4c/0x1e0
                         __driver_attach+0x284/0x520
                         bus_for_each_dev+0x148/0x1d0
                         serio_handle_event+0x607/0x920
                         process_one_work+0x9df/0x1640
                         worker_thread+0x67d/0x1220
                         kthread+0x3d0/0x4c0
                         ret_from_fork+0x1f/0x30
    }
    ... key      at: [<ffffffff9002c5a0>] __key.8+0x0/0x40
    ... acquired at:
   _raw_spin_lock+0x2a/0x40
   evdev_pass_values.part.0+0xac/0x950
   evdev_events+0x278/0x480
   input_to_handler+0x29e/0x4c0
   input_pass_values.part.0+0x230/0x7a0
   input_handle_event+0xf63/0x1550
   input_inject_event+0x1b7/0x370
   evdev_write+0x470/0x780
   vfs_write+0x270/0xaa0
   ksys_write+0x1f2/0x250
   do_syscall_64+0x34/0xb0
   entry_SYSCALL_64_after_hwframe+0x44/0xae

  -> (&client->buffer_lock){....}-{2:2} {
     INITIAL USE at:
                       lock_acquire+0x1a8/0x4e0
                       _raw_spin_lock+0x2a/0x40
                       evdev_pass_values.part.0+0xac/0x950
                       evdev_events+0x278/0x480
                       input_to_handler+0x29e/0x4c0
                       input_pass_values.part.0+0x230/0x7a0
                       input_handle_event+0xf63/0x1550
                       input_inject_event+0x1b7/0x370
                       evdev_write+0x470/0x780
                       vfs_write+0x270/0xaa0
                       ksys_write+0x1f2/0x250
                       do_syscall_64+0x34/0xb0
                       entry_SYSCALL_64_after_hwframe+0x44/0xae
   }
   ... key      at: [<ffffffff9002ca20>] __key.4+0x0/0x40
   ... acquired at:
   _raw_read_lock+0x5b/0x70
   kill_fasync+0x132/0x4e0
   evdev_pass_values.part.0+0x568/0x950
   evdev_events+0x278/0x480
   input_to_handler+0x29e/0x4c0
   input_pass_values.part.0+0x230/0x7a0
   input_handle_event+0xf63/0x1550
   input_inject_event+0x1b7/0x370
   evdev_write+0x470/0x780
   vfs_write+0x270/0xaa0
   ksys_write+0x1f2/0x250
   do_syscall_64+0x34/0xb0
   entry_SYSCALL_64_after_hwframe+0x44/0xae

 -> (&new->fa_lock){....}-{2:2} {
    INITIAL READ USE at:
                          lock_acquire+0x1a8/0x4e0
                          _raw_read_lock+0x5b/0x70
                          kill_fasync+0x132/0x4e0
                          evdev_pass_values.part.0+0x568/0x950
                          evdev_events+0x278/0x480
                          input_to_handler+0x29e/0x4c0
                          input_pass_values.part.0+0x230/0x7a0
                          input_handle_event+0xf63/0x1550
                          input_inject_event+0x1b7/0x370
                          evdev_write+0x470/0x780
                          vfs_write+0x270/0xaa0
                          ksys_write+0x1f2/0x250
                          do_syscall_64+0x34/0xb0
                          entry_SYSCALL_64_after_hwframe+0x44/0xae
  }
  ... key      at: [<ffffffff8fd78a60>] __key.0+0x0/0x40
  ... acquired at:
   _raw_read_lock_irqsave+0x6c/0x90
   send_sigio+0x24/0x3c0
   kill_fasync+0x1ec/0x4e0
   evdev_pass_values.part.0+0x568/0x950
   evdev_events+0x278/0x480
   input_to_handler+0x29e/0x4c0
   input_pass_values.part.0+0x230/0x7a0
   input_handle_event+0xf63/0x1550
   input_inject_event+0x1b7/0x370
   evdev_write+0x470/0x780
   vfs_write+0x270/0xaa0
   ksys_write+0x1f2/0x250
   do_syscall_64+0x34/0xb0
   entry_SYSCALL_64_after_hwframe+0x44/0xae

-> (&f->f_owner.lock){.+..}-{2:2} {
   HARDIRQ-ON-R at:
                    lock_acquire+0x1a8/0x4e0
                    _raw_read_lock+0x5b/0x70
                    f_getown+0x23/0x2e0
                    sock_ioctl+0x4c6/0x6f0
                    __x64_sys_ioctl+0x185/0x210
                    do_syscall_64+0x34/0xb0
                    entry_SYSCALL_64_after_hwframe+0x44/0xae
   INITIAL READ USE at:
                        lock_acquire+0x1a8/0x4e0
                        _raw_read_lock_irqsave+0x6c/0x90
                        send_sigio+0x24/0x3c0
                        kill_fasync+0x1ec/0x4e0
                        evdev_pass_values.part.0+0x568/0x950
                        evdev_events+0x278/0x480
                        input_to_handler+0x29e/0x4c0
                        input_pass_values.part.0+0x230/0x7a0
                        input_handle_event+0xf63/0x1550
                        input_inject_event+0x1b7/0x370
                        evdev_write+0x470/0x780
                        vfs_write+0x270/0xaa0
                        ksys_write+0x1f2/0x250
                        do_syscall_64+0x34/0xb0
                        entry_SYSCALL_64_after_hwframe+0x44/0xae
 }
 ... key      at: [<ffffffff8fd77c80>] __key.5+0x0/0x40
 ... acquired at:
   __lock_acquire+0x12f7/0x58e0
   lock_acquire+0x1a8/0x4e0
   _raw_read_lock+0x5b/0x70
   f_getown+0x23/0x2e0
   sock_ioctl+0x4c6/0x6f0
   __x64_sys_ioctl+0x185/0x210
   do_syscall_64+0x34/0xb0
   entry_SYSCALL_64_after_hwframe+0x44/0xae


stack backtrace:
CPU: 1 PID: 5593 Comm: syz-executor.5 Not tainted 5.14.0-rc6-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
Call Trace:
 dump_stack_lvl+0x91/0xb9
 mark_lock.cold+0x93/0xb8
 __lock_acquire+0x12f7/0x58e0
 lock_acquire+0x1a8/0x4e0
 _raw_read_lock+0x5b/0x70
 f_getown+0x23/0x2e0
 sock_ioctl+0x4c6/0x6f0
 __x64_sys_ioctl+0x185/0x210
 do_syscall_64+0x34/0xb0
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7f0f40a70f69
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 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 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f0f3fdf10c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f0f40b9ef80 RCX: 00007f0f40a70f69
RDX: 0000000000000000 RSI: 0000000000008904 RDI: 0000000000000004
RBP: 00007f0f40abd4a4 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000000b R14: 00007f0f40b9ef80 R15: 00007ffe425bf4d8
