===================================================== WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected 6.1.35-syzkaller #0 Not tainted ----------------------------------------------------- syz-executor.2/14672 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: ffff80001553a058 (tasklist_lock){.+.+}-{2:2}, at: send_sigurg+0xc8/0x38c fs/fcntl.c:833 and this task is already holding: ffff00013c6bd030 (&f->f_owner.lock){....}-{2:2}, at: send_sigurg+0x34/0x38c fs/fcntl.c:817 which would create a new lock dependency: (&f->f_owner.lock){....}-{2:2} -> (tasklist_lock){.+.+}-{2:2} but this new dependency connects a SOFTIRQ-irq-safe lock: (&dev->event_lock#2){..-.}-{2:2} ... which became SOFTIRQ-irq-safe at: lock_acquire+0x26c/0x7cc kernel/locking/lockdep.c:5669 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x6c/0xb4 kernel/locking/spinlock.c:162 input_event+0xa8/0xec drivers/input/input.c:430 hidinput_hid_event+0xfa0/0x1764 drivers/hid/hid-input.c:1662 hid_process_event+0x3e0/0x528 drivers/hid/hid-core.c:1537 hid_process_report drivers/hid/hid-core.c:1685 [inline] hid_report_raw_event+0xd34/0x1448 drivers/hid/hid-core.c:2012 hid_input_report+0x3ac/0x480 drivers/hid/hid-core.c:2080 hid_irq_in+0x3ec/0x708 drivers/hid/usbhid/hid-core.c:284 __usb_hcd_giveback_urb+0x2e0/0x504 drivers/usb/core/hcd.c:1671 usb_hcd_giveback_urb+0x108/0x3f8 drivers/usb/core/hcd.c:1754 dummy_timer+0x66c/0x26cc drivers/usb/gadget/udc/dummy_hcd.c:1988 call_timer_fn+0x1c0/0xa1c kernel/time/timer.c:1474 expire_timers kernel/time/timer.c:1519 [inline] __run_timers+0x554/0x718 kernel/time/timer.c:1790 run_timer_softirq+0x7c/0x114 kernel/time/timer.c:1803 __do_softirq+0x30c/0xea0 kernel/softirq.c:571 ____do_softirq+0x14/0x20 arch/arm64/kernel/irq.c:79 call_on_irq_stack+0x24/0x4c arch/arm64/kernel/entry.S:889 do_softirq_own_stack+0x20/0x2c arch/arm64/kernel/irq.c:84 invoke_softirq kernel/softirq.c:452 [inline] __irq_exit_rcu+0x28c/0x534 kernel/softirq.c:650 irq_exit_rcu+0x14/0x84 kernel/softirq.c:662 __el1_irq arch/arm64/kernel/entry-common.c:472 [inline] el1_interrupt+0x38/0x68 arch/arm64/kernel/entry-common.c:486 el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:491 el1h_64_irq+0x64/0x68 arch/arm64/kernel/entry.S:577 arch_local_irq_enable+0xc/0x18 arch/arm64/include/asm/irqflags.h:35 default_idle_call+0x68/0xdc kernel/sched/idle.c:109 cpuidle_idle_call kernel/sched/idle.c:191 [inline] do_idle+0x1e0/0x514 kernel/sched/idle.c:303 cpu_startup_entry+0x24/0x28 kernel/sched/idle.c:400 rest_init+0x2d8/0x2f0 init/main.c:729 start_kernel+0x0/0x60c init/main.c:890 start_kernel+0x44c/0x60c init/main.c:1145 __primary_switched+0xb8/0xc0 arch/arm64/kernel/head.S:468 to a SOFTIRQ-irq-unsafe lock: (tasklist_lock){.+.+}-{2:2} ... which became SOFTIRQ-irq-unsafe at: ... lock_acquire+0x26c/0x7cc kernel/locking/lockdep.c:5669 __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline] _raw_read_lock+0x68/0x84 kernel/locking/spinlock.c:228 do_wait+0x2bc/0xb40 kernel/exit.c:1602 kernel_wait+0xe0/0x20c kernel/exit.c:1792 call_usermodehelper_exec_sync kernel/umh.c:140 [inline] call_usermodehelper_exec_work+0xd0/0x248 kernel/umh.c:167 process_one_work+0x7ac/0x1404 kernel/workqueue.c:2289 worker_thread+0x8e4/0xfec kernel/workqueue.c:2436 kthread+0x250/0x2d8 kernel/kthread.c:376 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:860 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); lock(&dev->event_lock#2); *** DEADLOCK *** 2 locks held by syz-executor.2/14672: #0: ffff0000d5b2cdb0 (sk_lock-AF_INET6){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1733 [inline] #0: ffff0000d5b2cdb0 (sk_lock-AF_INET6){+.+.}-{0:0}, at: tcp_sendmsg+0x30/0x64 net/ipv4/tcp.c:1485 #1: ffff00013c6bd030 (&f->f_owner.lock){....}-{2:2}, at: send_sigurg+0x34/0x38c fs/fcntl.c:817 the dependencies between SOFTIRQ-irq-safe lock and the holding lock: -> (&dev->event_lock#2){..-.}-{2:2} { IN-SOFTIRQ-W at: lock_acquire+0x26c/0x7cc kernel/locking/lockdep.c:5669 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x6c/0xb4 kernel/locking/spinlock.c:162 input_event+0xa8/0xec drivers/input/input.c:430 hidinput_hid_event+0xfa0/0x1764 drivers/hid/hid-input.c:1662 hid_process_event+0x3e0/0x528 drivers/hid/hid-core.c:1537 hid_process_report drivers/hid/hid-core.c:1685 [inline] hid_report_raw_event+0xd34/0x1448 drivers/hid/hid-core.c:2012 hid_input_report+0x3ac/0x480 drivers/hid/hid-core.c:2080 hid_irq_in+0x3ec/0x708 drivers/hid/usbhid/hid-core.c:284 __usb_hcd_giveback_urb+0x2e0/0x504 drivers/usb/core/hcd.c:1671 usb_hcd_giveback_urb+0x108/0x3f8 drivers/usb/core/hcd.c:1754 dummy_timer+0x66c/0x26cc drivers/usb/gadget/udc/dummy_hcd.c:1988 call_timer_fn+0x1c0/0xa1c kernel/time/timer.c:1474 expire_timers kernel/time/timer.c:1519 [inline] __run_timers+0x554/0x718 kernel/time/timer.c:1790 run_timer_softirq+0x7c/0x114 kernel/time/timer.c:1803 __do_softirq+0x30c/0xea0 kernel/softirq.c:571 ____do_softirq+0x14/0x20 arch/arm64/kernel/irq.c:79 call_on_irq_stack+0x24/0x4c arch/arm64/kernel/entry.S:889 do_softirq_own_stack+0x20/0x2c arch/arm64/kernel/irq.c:84 invoke_softirq kernel/softirq.c:452 [inline] __irq_exit_rcu+0x28c/0x534 kernel/softirq.c:650 irq_exit_rcu+0x14/0x84 kernel/softirq.c:662 __el1_irq arch/arm64/kernel/entry-common.c:472 [inline] el1_interrupt+0x38/0x68 arch/arm64/kernel/entry-common.c:486 el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:491 el1h_64_irq+0x64/0x68 arch/arm64/kernel/entry.S:577 arch_local_irq_enable+0xc/0x18 arch/arm64/include/asm/irqflags.h:35 default_idle_call+0x68/0xdc kernel/sched/idle.c:109 cpuidle_idle_call kernel/sched/idle.c:191 [inline] do_idle+0x1e0/0x514 kernel/sched/idle.c:303 cpu_startup_entry+0x24/0x28 kernel/sched/idle.c:400 rest_init+0x2d8/0x2f0 init/main.c:729 start_kernel+0x0/0x60c init/main.c:890 start_kernel+0x44c/0x60c init/main.c:1145 __primary_switched+0xb8/0xc0 arch/arm64/kernel/head.S:468 INITIAL USE at: lock_acquire+0x26c/0x7cc kernel/locking/lockdep.c:5669 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x6c/0xb4 kernel/locking/spinlock.c:162 input_inject_event+0xc8/0x30c drivers/input/input.c:456 evdev_write+0x348/0x424 drivers/input/evdev.c:530 vfs_write+0x2a4/0x914 fs/read_write.c:582 ksys_write+0x15c/0x26c fs/read_write.c:637 __do_sys_write fs/read_write.c:649 [inline] __se_sys_write fs/read_write.c:646 [inline] __arm64_sys_write+0x7c/0x90 fs/read_write.c:646 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581 } ... key at: [] input_allocate_device.__key.6+0x0/0x20 -> (&client->buffer_lock){....}-{2:2} { INITIAL USE at: lock_acquire+0x26c/0x7cc kernel/locking/lockdep.c:5669 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x54/0x6c kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:350 [inline] evdev_pass_values+0xe0/0x798 drivers/input/evdev.c:261 evdev_events+0x1b0/0x2f4 drivers/input/evdev.c:306 input_to_handler drivers/input/input.c:127 [inline] input_pass_values+0x70c/0xea8 drivers/input/input.c:159 input_event_dispose+0x2a0/0x54c drivers/input/input.c:374 input_handle_event+0x710/0x9a8 drivers/input/input.c:402 input_inject_event+0x1ec/0x30c drivers/input/input.c:461 evdev_write+0x348/0x424 drivers/input/evdev.c:530 vfs_write+0x2a4/0x914 fs/read_write.c:582 ksys_write+0x15c/0x26c fs/read_write.c:637 __do_sys_write fs/read_write.c:649 [inline] __se_sys_write fs/read_write.c:646 [inline] __arm64_sys_write+0x7c/0x90 fs/read_write.c:646 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581 } ... key at: [] evdev_open.__key.20+0x0/0x20 ... acquired at: __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x54/0x6c kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:350 [inline] evdev_pass_values+0xe0/0x798 drivers/input/evdev.c:261 evdev_events+0x1b0/0x2f4 drivers/input/evdev.c:306 input_to_handler drivers/input/input.c:127 [inline] input_pass_values+0x70c/0xea8 drivers/input/input.c:159 input_event_dispose+0x2a0/0x54c drivers/input/input.c:374 input_handle_event+0x710/0x9a8 drivers/input/input.c:402 input_inject_event+0x1ec/0x30c drivers/input/input.c:461 evdev_write+0x348/0x424 drivers/input/evdev.c:530 vfs_write+0x2a4/0x914 fs/read_write.c:582 ksys_write+0x15c/0x26c fs/read_write.c:637 __do_sys_write fs/read_write.c:649 [inline] __se_sys_write fs/read_write.c:646 [inline] __arm64_sys_write+0x7c/0x90 fs/read_write.c:646 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581 -> (&new->fa_lock){....}-{2:2} { INITIAL USE at: lock_acquire+0x26c/0x7cc kernel/locking/lockdep.c:5669 __raw_write_lock_irq include/linux/rwlock_api_smp.h:195 [inline] _raw_write_lock_irq+0x70/0x9c kernel/locking/spinlock.c:326 fasync_remove_entry+0x108/0x1d8 fs/fcntl.c:873 fasync_helper+0x94/0xc4 fs/fcntl.c:976 evdev_fasync+0x58/0x6c drivers/input/evdev.c:326 __fput+0x614/0x7bc fs/file_table.c:317 ____fput+0x20/0x30 fs/file_table.c:348 task_work_run+0x240/0x2f0 kernel/task_work.c:179 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline] do_notify_resume+0x2144/0x3470 arch/arm64/kernel/signal.c:1132 prepare_exit_to_user_mode arch/arm64/kernel/entry-common.c:137 [inline] exit_to_user_mode arch/arm64/kernel/entry-common.c:142 [inline] el0_svc+0x9c/0x168 arch/arm64/kernel/entry-common.c:638 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581 INITIAL READ USE at: lock_acquire+0x26c/0x7cc kernel/locking/lockdep.c:5669 __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline] _raw_read_lock_irqsave+0x7c/0xc4 kernel/locking/spinlock.c:236 kill_fasync_rcu fs/fcntl.c:996 [inline] kill_fasync+0x190/0x48c fs/fcntl.c:1017 __pass_event drivers/input/evdev.c:240 [inline] evdev_pass_values+0x478/0x798 drivers/input/evdev.c:278 evdev_events+0x1b0/0x2f4 drivers/input/evdev.c:306 input_to_handler drivers/input/input.c:127 [inline] input_pass_values+0x70c/0xea8 drivers/input/input.c:159 input_event_dispose+0x2a0/0x54c drivers/input/input.c:374 input_handle_event+0x710/0x9a8 drivers/input/input.c:402 input_inject_event+0x1ec/0x30c drivers/input/input.c:461 evdev_write+0x348/0x424 drivers/input/evdev.c:530 vfs_write+0x2a4/0x914 fs/read_write.c:582 ksys_write+0x15c/0x26c fs/read_write.c:637 __do_sys_write fs/read_write.c:649 [inline] __se_sys_write fs/read_write.c:646 [inline] __arm64_sys_write+0x7c/0x90 fs/read_write.c:646 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581 } ... key at: [] fasync_insert_entry.__key+0x0/0x20 ... acquired at: __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline] _raw_read_lock_irqsave+0x7c/0xc4 kernel/locking/spinlock.c:236 kill_fasync_rcu fs/fcntl.c:996 [inline] kill_fasync+0x190/0x48c fs/fcntl.c:1017 __pass_event drivers/input/evdev.c:240 [inline] evdev_pass_values+0x478/0x798 drivers/input/evdev.c:278 evdev_events+0x1b0/0x2f4 drivers/input/evdev.c:306 input_to_handler drivers/input/input.c:127 [inline] input_pass_values+0x70c/0xea8 drivers/input/input.c:159 input_event_dispose+0x2a0/0x54c drivers/input/input.c:374 input_handle_event+0x710/0x9a8 drivers/input/input.c:402 input_inject_event+0x1ec/0x30c drivers/input/input.c:461 evdev_write+0x348/0x424 drivers/input/evdev.c:530 vfs_write+0x2a4/0x914 fs/read_write.c:582 ksys_write+0x15c/0x26c fs/read_write.c:637 __do_sys_write fs/read_write.c:649 [inline] __se_sys_write fs/read_write.c:646 [inline] __arm64_sys_write+0x7c/0x90 fs/read_write.c:646 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581 -> (&f->f_owner.lock){....}-{2:2} { INITIAL USE at: lock_acquire+0x26c/0x7cc kernel/locking/lockdep.c:5669 __raw_write_lock_irq include/linux/rwlock_api_smp.h:195 [inline] _raw_write_lock_irq+0x70/0x9c kernel/locking/spinlock.c:326 f_modown+0x44/0x2d4 fs/fcntl.c:91 __f_setown fs/fcntl.c:110 [inline] f_setown_ex fs/fcntl.c:200 [inline] do_fcntl+0x13c0/0x186c fs/fcntl.c:383 __do_sys_fcntl fs/fcntl.c:454 [inline] __se_sys_fcntl fs/fcntl.c:439 [inline] __arm64_sys_fcntl+0x110/0x1f8 fs/fcntl.c:439 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581 INITIAL READ USE at: lock_acquire+0x26c/0x7cc kernel/locking/lockdep.c:5669 __raw_read_lock_irq include/linux/rwlock_api_smp.h:169 [inline] _raw_read_lock_irq+0x84/0xb4 kernel/locking/spinlock.c:244 f_getown_ex fs/fcntl.c:212 [inline] do_fcntl+0x2f0/0x186c fs/fcntl.c:380 __do_sys_fcntl fs/fcntl.c:454 [inline] __se_sys_fcntl fs/fcntl.c:439 [inline] __arm64_sys_fcntl+0x110/0x1f8 fs/fcntl.c:439 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581 } ... key at: [] __alloc_file.__key+0x0/0x10 ... acquired at: __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline] _raw_read_lock_irqsave+0x7c/0xc4 kernel/locking/spinlock.c:236 send_sigio+0x40/0x33c fs/fcntl.c:778 kill_fasync_rcu fs/fcntl.c:1003 [inline] kill_fasync+0x214/0x48c fs/fcntl.c:1017 __pass_event drivers/input/evdev.c:240 [inline] evdev_pass_values+0x478/0x798 drivers/input/evdev.c:278 evdev_events+0x1b0/0x2f4 drivers/input/evdev.c:306 input_to_handler drivers/input/input.c:127 [inline] input_pass_values+0x70c/0xea8 drivers/input/input.c:159 input_event_dispose+0x2a0/0x54c drivers/input/input.c:374 input_handle_event+0x710/0x9a8 drivers/input/input.c:402 input_inject_event+0x1ec/0x30c drivers/input/input.c:461 evdev_write+0x348/0x424 drivers/input/evdev.c:530 vfs_write+0x2a4/0x914 fs/read_write.c:582 ksys_write+0x15c/0x26c fs/read_write.c:637 __do_sys_write fs/read_write.c:649 [inline] __se_sys_write fs/read_write.c:646 [inline] __arm64_sys_write+0x7c/0x90 fs/read_write.c:646 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581 the dependencies between the lock to be acquired and SOFTIRQ-irq-unsafe lock: -> (tasklist_lock){.+.+}-{2:2} { HARDIRQ-ON-R at: lock_acquire+0x26c/0x7cc kernel/locking/lockdep.c:5669 __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline] _raw_read_lock+0x68/0x84 kernel/locking/spinlock.c:228 do_wait+0x2bc/0xb40 kernel/exit.c:1602 kernel_wait+0xe0/0x20c kernel/exit.c:1792 call_usermodehelper_exec_sync kernel/umh.c:140 [inline] call_usermodehelper_exec_work+0xd0/0x248 kernel/umh.c:167 process_one_work+0x7ac/0x1404 kernel/workqueue.c:2289 worker_thread+0x8e4/0xfec kernel/workqueue.c:2436 kthread+0x250/0x2d8 kernel/kthread.c:376 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:860 SOFTIRQ-ON-R at: lock_acquire+0x26c/0x7cc kernel/locking/lockdep.c:5669 __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline] _raw_read_lock+0x68/0x84 kernel/locking/spinlock.c:228 do_wait+0x2bc/0xb40 kernel/exit.c:1602 kernel_wait+0xe0/0x20c kernel/exit.c:1792 call_usermodehelper_exec_sync kernel/umh.c:140 [inline] call_usermodehelper_exec_work+0xd0/0x248 kernel/umh.c:167 process_one_work+0x7ac/0x1404 kernel/workqueue.c:2289 worker_thread+0x8e4/0xfec kernel/workqueue.c:2436 kthread+0x250/0x2d8 kernel/kthread.c:376 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:860 INITIAL USE at: lock_acquire+0x26c/0x7cc kernel/locking/lockdep.c:5669 __raw_write_lock_irq include/linux/rwlock_api_smp.h:195 [inline] _raw_write_lock_irq+0x70/0x9c kernel/locking/spinlock.c:326 copy_process+0x26b8/0x38d0 kernel/fork.c:2393 kernel_clone+0x1d8/0x98c kernel/fork.c:2679 user_mode_thread+0x110/0x178 kernel/fork.c:2755 rest_init+0x2c/0x2f0 init/main.c:694 start_kernel+0x0/0x60c init/main.c:890 start_kernel+0x44c/0x60c init/main.c:1145 __primary_switched+0xb8/0xc0 arch/arm64/kernel/head.S:468 INITIAL READ USE at: lock_acquire+0x26c/0x7cc kernel/locking/lockdep.c:5669 __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline] _raw_read_lock+0x68/0x84 kernel/locking/spinlock.c:228 do_wait+0x2bc/0xb40 kernel/exit.c:1602 kernel_wait+0xe0/0x20c kernel/exit.c:1792 call_usermodehelper_exec_sync kernel/umh.c:140 [inline] call_usermodehelper_exec_work+0xd0/0x248 kernel/umh.c:167 process_one_work+0x7ac/0x1404 kernel/workqueue.c:2289 worker_thread+0x8e4/0xfec kernel/workqueue.c:2436 kthread+0x250/0x2d8 kernel/kthread.c:376 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:860 } ... key at: [] tasklist_lock+0x18/0x40 ... acquired at: __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline] _raw_read_lock+0x68/0x84 kernel/locking/spinlock.c:228 send_sigurg+0xc8/0x38c fs/fcntl.c:833 sk_send_sigurg+0x6c/0xc0 net/core/sock.c:3336 tcp_check_urg+0x1a4/0x5a8 net/ipv4/tcp_input.c:5614 tcp_urg+0x130/0x374 net/ipv4/tcp_input.c:5655 tcp_rcv_established+0xa78/0x1fe0 net/ipv4/tcp_input.c:6002 tcp_v6_do_rcv+0x43c/0x11ac net/ipv6/tcp_ipv6.c:1488 sk_backlog_rcv include/net/sock.h:1111 [inline] __release_sock+0x1a8/0x408 net/core/sock.c:2909 release_sock+0x68/0x1cc net/core/sock.c:3473 sk_stream_wait_memory+0x5e0/0xcc4 net/core/stream.c:145 tcp_sendmsg_locked+0x118c/0x34f8 net/ipv4/tcp.c:1448 tcp_sendmsg+0x40/0x64 net/ipv4/tcp.c:1486 inet6_sendmsg+0xb4/0xd8 net/ipv6/af_inet6.c:667 sock_sendmsg_nosec net/socket.c:716 [inline] sock_sendmsg net/socket.c:736 [inline] __sys_sendto+0x3b4/0x504 net/socket.c:2117 __do_sys_sendto net/socket.c:2129 [inline] __se_sys_sendto net/socket.c:2125 [inline] __arm64_sys_sendto+0xd8/0xf8 net/socket.c:2125 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581 stack backtrace: CPU: 1 PID: 14672 Comm: syz-executor.2 Not tainted 6.1.35-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/25/2023 Call trace: dump_backtrace+0x1c8/0x1f4 arch/arm64/kernel/stacktrace.c:158 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165 __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106 dump_stack+0x1c/0x58 lib/dump_stack.c:113 __lock_acquire+0x6310/0x764c kernel/locking/lockdep.c:5056 lock_acquire+0x26c/0x7cc kernel/locking/lockdep.c:5669 __raw_read_lock include/linux/rwlock_api_smp.h:150 [inline] _raw_read_lock+0x68/0x84 kernel/locking/spinlock.c:228 send_sigurg+0xc8/0x38c fs/fcntl.c:833 sk_send_sigurg+0x6c/0xc0 net/core/sock.c:3336 tcp_check_urg+0x1a4/0x5a8 net/ipv4/tcp_input.c:5614 tcp_urg+0x130/0x374 net/ipv4/tcp_input.c:5655 tcp_rcv_established+0xa78/0x1fe0 net/ipv4/tcp_input.c:6002 tcp_v6_do_rcv+0x43c/0x11ac net/ipv6/tcp_ipv6.c:1488 sk_backlog_rcv include/net/sock.h:1111 [inline] __release_sock+0x1a8/0x408 net/core/sock.c:2909 release_sock+0x68/0x1cc net/core/sock.c:3473 sk_stream_wait_memory+0x5e0/0xcc4 net/core/stream.c:145 tcp_sendmsg_locked+0x118c/0x34f8 net/ipv4/tcp.c:1448 tcp_sendmsg+0x40/0x64 net/ipv4/tcp.c:1486 inet6_sendmsg+0xb4/0xd8 net/ipv6/af_inet6.c:667 sock_sendmsg_nosec net/socket.c:716 [inline] sock_sendmsg net/socket.c:736 [inline] __sys_sendto+0x3b4/0x504 net/socket.c:2117 __do_sys_sendto net/socket.c:2129 [inline] __se_sys_sendto net/socket.c:2125 [inline] __arm64_sys_sendto+0xd8/0xf8 net/socket.c:2125 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581