=====================================================
WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected
6.16.0-rc5-syzkaller-00193-g40f92e79b0aa #0 Not tainted
-----------------------------------------------------
syz.4.10897/3808 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
ffffffff8de0c058 (tasklist_lock){.+.+}-{3:3}, at: send_sigurg+0x12b/0x420

and this task is already holding:
ffff8880281bc320 (&f_owner->lock){....}-{3:3}, at: send_sigurg+0x55/0x420
which would create a new lock dependency:
 (&f_owner->lock){....}-{3:3} -> (tasklist_lock){.+.+}-{3:3}

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

... which became SOFTIRQ-irq-safe at:
  lock_acquire+0x120/0x360
  _raw_spin_lock_irqsave+0xa7/0xf0
  input_inject_event+0xab/0x320
  led_trigger_event+0x138/0x210
  kbd_bh+0x1c6/0x2e0
  tasklet_action_common+0x36c/0x580
  handle_softirqs+0x286/0x870
  __irq_exit_rcu+0xca/0x1f0
  irq_exit_rcu+0x9/0x30
  sysvec_call_function_single+0xa3/0xc0
  asm_sysvec_call_function_single+0x1a/0x20
  __tasklet_schedule_common+0x173/0x1e0
  vt_set_leds_compute_shiftstate+0x5b/0x80
  redraw_screen+0x995/0xe90
  complete_change_console+0xd2/0x730
  console_callback+0x182/0x440
  process_scheduled_works+0xae1/0x17b0
  worker_thread+0x8a0/0xda0
  kthread+0x711/0x8a0
  ret_from_fork+0x3fc/0x770
  ret_from_fork_asm+0x1a/0x30

to a SOFTIRQ-irq-unsafe lock:
 (tasklist_lock){.+.+}-{3:3}

... which became SOFTIRQ-irq-unsafe at:
...
  lock_acquire+0x120/0x360
  _raw_read_lock+0x36/0x50
  __do_wait+0xde/0x740
  do_wait+0x1f8/0x520
  kernel_wait+0xab/0x170
  call_usermodehelper_exec_work+0xbe/0x230
  process_scheduled_works+0xae1/0x17b0
  worker_thread+0x8a0/0xda0
  kthread+0x711/0x8a0
  ret_from_fork+0x3fc/0x770
  ret_from_fork_asm+0x1a/0x30

other info that might help us debug this:

Chain exists of:
  &dev->event_lock#2 --> &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_owner->lock);
  <Interrupt>
    lock(&dev->event_lock#2);

 *** DEADLOCK ***

2 locks held by syz.4.10897/3808:
 #0: ffff8881074e0f40 (&u->lock){+.+.}-{3:3}, at: queue_oob+0x187/0x5a0
 #1: ffff8880281bc320 (&f_owner->lock){....}-{3:3}, at: send_sigurg+0x55/0x420

the dependencies between SOFTIRQ-irq-safe lock and the holding lock:
   -> (&dev->event_lock#2){..-.}-{3:3} {
      IN-SOFTIRQ-W at:
                          lock_acquire+0x120/0x360
                          _raw_spin_lock_irqsave+0xa7/0xf0
                          input_inject_event+0xab/0x320
                          led_trigger_event+0x138/0x210
                          kbd_bh+0x1c6/0x2e0
                          tasklet_action_common+0x36c/0x580
                          handle_softirqs+0x286/0x870
                          __irq_exit_rcu+0xca/0x1f0
                          irq_exit_rcu+0x9/0x30
                          sysvec_call_function_single+0xa3/0xc0
                          asm_sysvec_call_function_single+0x1a/0x20
                          __tasklet_schedule_common+0x173/0x1e0
                          vt_set_leds_compute_shiftstate+0x5b/0x80
                          redraw_screen+0x995/0xe90
                          complete_change_console+0xd2/0x730
                          console_callback+0x182/0x440
                          process_scheduled_works+0xae1/0x17b0
                          worker_thread+0x8a0/0xda0
                          kthread+0x711/0x8a0
                          ret_from_fork+0x3fc/0x770
                          ret_from_fork_asm+0x1a/0x30
      INITIAL USE at:
                         lock_acquire+0x120/0x360
                         _raw_spin_lock_irqsave+0xa7/0xf0
                         input_inject_event+0xab/0x320
                         kbd_led_trigger_activate+0xbc/0x100
                         led_trigger_set+0x52d/0x950
                         led_trigger_set_default+0x260/0x2a0
                         led_classdev_register_ext+0x73d/0x930
                         input_leds_connect+0x517/0x790
                         input_register_device+0xcee/0x10b0
                         atkbd_connect+0x70e/0x9c0
                         serio_driver_probe+0x82/0xa0
                         really_probe+0x26d/0x9a0
                         __driver_probe_device+0x18c/0x2f0
                         driver_probe_device+0x4f/0x430
                         __driver_attach+0x452/0x700
                         bus_for_each_dev+0x233/0x2b0
                         serio_handle_event+0x1a2/0x860
                         process_scheduled_works+0xae1/0x17b0
                         worker_thread+0x8a0/0xda0
                         kthread+0x711/0x8a0
                         ret_from_fork+0x3fc/0x770
                         ret_from_fork_asm+0x1a/0x30
    }
    ... key      at: [<ffffffff99e2ed80>] input_allocate_device.__key.5+0x0/0x20
  -> (&client->buffer_lock){....}-{3:3} {
     INITIAL USE at:
                       lock_acquire+0x120/0x360
                       _raw_spin_lock_irqsave+0xa7/0xf0
                       evdev_ioctl_handler+0x1969/0x1f10
                       __se_sys_ioctl+0xfc/0x170
                       do_syscall_64+0xfa/0x3b0
                       entry_SYSCALL_64_after_hwframe+0x77/0x7f
   }
   ... key      at: [<ffffffff99e2f020>] evdev_open.__key.25+0x0/0x20
   ... acquired at:
   lock_acquire+0x120/0x360
   _raw_spin_lock+0x2e/0x40
   evdev_pass_values+0xb9/0xbd0
   evdev_events+0x1e6/0x340
   input_pass_values+0x288/0x890
   input_event_dispose+0x330/0x6b0
   input_inject_event+0x1fe/0x320
   evdev_write+0x2fc/0x480
   vfs_write+0x27e/0xa90
   ksys_write+0x145/0x250
   do_syscall_64+0xfa/0x3b0
   entry_SYSCALL_64_after_hwframe+0x77/0x7f

 -> (&new->fa_lock){...-}-{3:3} {
    IN-SOFTIRQ-R at:
                      lock_acquire+0x120/0x360
                      _raw_read_lock_irqsave+0xaf/0x100
                      kill_fasync+0x199/0x4d0
                      sock_wake_async+0x137/0x160
                      sock_def_readable+0x3bb/0x550
                      tcp_data_queue+0x206b/0x64a0
                      tcp_rcv_established+0xfa8/0x1de0
                      tcp_v4_do_rcv+0xa23/0xce0
                      tcp_v4_rcv+0x2676/0x2f00
                      ip_protocol_deliver_rcu+0x221/0x440
                      ip_local_deliver_finish+0x2fb/0x580
                      NF_HOOK+0x30c/0x3a0
                      NF_HOOK+0x30c/0x3a0
                      __netif_receive_skb+0x143/0x380
                      process_backlog+0x60e/0x14f0
                      __napi_poll+0xc7/0x480
                      net_rx_action+0x707/0xe30
                      handle_softirqs+0x286/0x870
                      do_softirq+0xec/0x180
                      __local_bh_enable_ip+0x17d/0x1c0
                      sk_stream_wait_memory+0x724/0xf70
                      tcp_sendmsg_locked+0x2172/0x5650
                      tcp_sendmsg+0x2f/0x50
                      __sock_sendmsg+0xe5/0x270
                      __sys_sendto+0x3bd/0x520
                      __x64_sys_sendto+0xde/0x100
                      do_syscall_64+0xfa/0x3b0
                      entry_SYSCALL_64_after_hwframe+0x77/0x7f
    INITIAL USE at:
                     lock_acquire+0x120/0x360
                     _raw_write_lock_irq+0xa2/0xf0
                     fasync_remove_entry+0xf1/0x1c0
                     lease_modify+0x1ca/0x3c0
                     locks_remove_file+0x4bf/0xea0
                     __fput+0x3ab/0xa70
                     task_work_run+0x1d4/0x260
                     exit_to_user_mode_loop+0xec/0x110
                     do_syscall_64+0x2bd/0x3b0
                     entry_SYSCALL_64_after_hwframe+0x77/0x7f
    INITIAL READ USE at:
                          lock_acquire+0x120/0x360
                          _raw_read_lock_irqsave+0xaf/0x100
                          kill_fasync+0x199/0x4d0
                          sock_wake_async+0x137/0x160
                          sock_def_write_space+0x390/0x430
                          sock_wfree+0x1d3/0x7a0
                          skb_release_head_state+0x101/0x250
                          kfree_skb_list_reason+0x21b/0x460
                          skb_release_data+0x61e/0x7c0
                          sk_skb_reason_drop+0x127/0x170
                          rfcomm_sock_sendmsg+0x361/0x440
                          __sock_sendmsg+0x21c/0x270
                          ____sys_sendmsg+0x505/0x830
                          ___sys_sendmsg+0x21f/0x2a0
                          __x64_sys_sendmsg+0x19b/0x260
                          do_syscall_64+0xfa/0x3b0
                          entry_SYSCALL_64_after_hwframe+0x77/0x7f
  }
  ... key      at: [<ffffffff99b1ffc0>] fasync_insert_entry.__key+0x0/0x20
  ... acquired at:
   lock_acquire+0x120/0x360
   _raw_read_lock_irqsave+0xaf/0x100
   kill_fasync+0x199/0x4d0
   evdev_pass_values+0x627/0xbd0
   evdev_events+0x1e6/0x340
   input_pass_values+0x288/0x890
   input_event_dispose+0x330/0x6b0
   input_inject_event+0x1fe/0x320
   evdev_write+0x2fc/0x480
   vfs_write+0x27e/0xa90
   ksys_write+0x145/0x250
   do_syscall_64+0xfa/0x3b0
   entry_SYSCALL_64_after_hwframe+0x77/0x7f

-> (&f_owner->lock){....}-{3:3} {
   INITIAL USE at:
                   lock_acquire+0x120/0x360
                   _raw_write_lock_irq+0xa2/0xf0
                   __f_setown+0x67/0x370
                   generic_setlease+0xd60/0x1240
                   fcntl_setlease+0x3a2/0x4c0
                   do_fcntl+0x6a9/0x1910
                   __se_sys_fcntl+0xc8/0x150
                   do_syscall_64+0xfa/0x3b0
                   entry_SYSCALL_64_after_hwframe+0x77/0x7f
   INITIAL READ USE at:
                        lock_acquire+0x120/0x360
                        _raw_read_lock_irqsave+0xaf/0x100
                        send_sigio+0x38/0x370
                        kill_fasync+0x24d/0x4d0
                        sock_wake_async+0x137/0x160
                        sk_wake_async+0x184/0x280
                        unix_release_sock+0x768/0xd30
                        unix_release+0x92/0xd0
                        sock_close+0xc3/0x240
                        __fput+0x44c/0xa70
                        task_work_run+0x1d4/0x260
                        get_signal+0x11ed/0x1340
                        arch_do_signal_or_restart+0x9a/0x750
                        exit_to_user_mode_loop+0x75/0x110
                        do_syscall_64+0x2bd/0x3b0
                        entry_SYSCALL_64_after_hwframe+0x77/0x7f
 }
 ... key      at: [<ffffffff99b1ffa0>] file_f_owner_allocate.__key+0x0/0x20
 ... acquired at:
   lock_acquire+0x120/0x360
   _raw_read_lock_irqsave+0xaf/0x100
   send_sigio+0x38/0x370
   kill_fasync+0x24d/0x4d0
   sock_wake_async+0x137/0x160
   sk_wake_async+0x184/0x280
   unix_release_sock+0x768/0xd30
   unix_release+0x92/0xd0
   sock_close+0xc3/0x240
   __fput+0x44c/0xa70
   task_work_run+0x1d4/0x260
   get_signal+0x11ed/0x1340
   arch_do_signal_or_restart+0x9a/0x750
   exit_to_user_mode_loop+0x75/0x110
   do_syscall_64+0x2bd/0x3b0
   entry_SYSCALL_64_after_hwframe+0x77/0x7f


the dependencies between the lock to be acquired
 and SOFTIRQ-irq-unsafe lock:
-> (tasklist_lock){.+.+}-{3:3} {
   HARDIRQ-ON-R at:
                    lock_acquire+0x120/0x360
                    _raw_read_lock+0x36/0x50
                    __do_wait+0xde/0x740
                    do_wait+0x1f8/0x520
                    kernel_wait+0xab/0x170
                    call_usermodehelper_exec_work+0xbe/0x230
                    process_scheduled_works+0xae1/0x17b0
                    worker_thread+0x8a0/0xda0
                    kthread+0x711/0x8a0
                    ret_from_fork+0x3fc/0x770
                    ret_from_fork_asm+0x1a/0x30
   SOFTIRQ-ON-R at:
                    lock_acquire+0x120/0x360
                    _raw_read_lock+0x36/0x50
                    __do_wait+0xde/0x740
                    do_wait+0x1f8/0x520
                    kernel_wait+0xab/0x170
                    call_usermodehelper_exec_work+0xbe/0x230
                    process_scheduled_works+0xae1/0x17b0
                    worker_thread+0x8a0/0xda0
                    kthread+0x711/0x8a0
                    ret_from_fork+0x3fc/0x770
                    ret_from_fork_asm+0x1a/0x30
   INITIAL USE at:
                   lock_acquire+0x120/0x360
                   _raw_write_lock_irq+0xa2/0xf0
                   copy_process+0x21d5/0x3b80
                   kernel_clone+0x21e/0x870
                   user_mode_thread+0xdd/0x140
                   rest_init+0x23/0x300
                   start_kernel+0x47d/0x500
                   x86_64_start_reservations+0x24/0x30
                   x86_64_start_kernel+0x143/0x1c0
                   common_startup_64+0x13e/0x147
   INITIAL READ USE at:
                        lock_acquire+0x120/0x360
                        _raw_read_lock+0x36/0x50
                        __do_wait+0xde/0x740
                        do_wait+0x1f8/0x520
                        kernel_wait+0xab/0x170
                        call_usermodehelper_exec_work+0xbe/0x230
                        process_scheduled_works+0xae1/0x17b0
                        worker_thread+0x8a0/0xda0
                        kthread+0x711/0x8a0
                        ret_from_fork+0x3fc/0x770
                        ret_from_fork_asm+0x1a/0x30
 }
 ... key      at: [<ffffffff8de0c058>] tasklist_lock+0x18/0x40
 ... acquired at:
   lock_acquire+0x120/0x360
   _raw_read_lock+0x36/0x50
   send_sigurg+0x12b/0x420
   sk_send_sigurg+0x6c/0x2e0
   queue_oob+0x490/0x5a0
   unix_stream_sendmsg+0xaf9/0xc90
   __sock_sendmsg+0x21c/0x270
   ____sys_sendmsg+0x505/0x830
   ___sys_sendmsg+0x21f/0x2a0
   __x64_sys_sendmsg+0x19b/0x260
   do_syscall_64+0xfa/0x3b0
   entry_SYSCALL_64_after_hwframe+0x77/0x7f


stack backtrace:
CPU: 0 UID: 0 PID: 3808 Comm: syz.4.10897 Not tainted 6.16.0-rc5-syzkaller-00193-g40f92e79b0aa #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
Call Trace:
 <TASK>
 dump_stack_lvl+0x189/0x250
 validate_chain+0x1f05/0x2140
 __lock_acquire+0xab9/0xd20
 lock_acquire+0x120/0x360
 _raw_read_lock+0x36/0x50
 send_sigurg+0x12b/0x420
 sk_send_sigurg+0x6c/0x2e0
 queue_oob+0x490/0x5a0
 unix_stream_sendmsg+0xaf9/0xc90
 __sock_sendmsg+0x21c/0x270
 ____sys_sendmsg+0x505/0x830
 ___sys_sendmsg+0x21f/0x2a0
 __x64_sys_sendmsg+0x19b/0x260
 do_syscall_64+0xfa/0x3b0
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f365cb8e9a9
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:00007f365d9cc038 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007f365cdb5fa0 RCX: 00007f365cb8e9a9
RDX: 00000000240408c1 RSI: 0000200000000080 RDI: 0000000000000004
RBP: 00007f365cc10d69 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007f365cdb5fa0 R15: 00007ffdd677eaa8
 </TASK>
