Warning: Permanently added '10.128.0.76' (ED25519) to the list of known hosts. executing program [ 43.359203][ T3972] input: syz0 as /devices/virtual/input/input2 [ 43.406860][ T1713] [ 43.407477][ T1713] ====================================================== [ 43.409234][ T1713] WARNING: possible circular locking dependency detected [ 43.410911][ T1713] 5.15.137-syzkaller #0 Not tainted [ 43.412228][ T1713] ------------------------------------------------------ [ 43.414114][ T1713] kworker/0:2/1713 is trying to acquire lock: [ 43.415735][ T1713] ffff0000c910cc28 ((work_completion)(&hdev->bg_scan_update)){+.+.}-{0:0}, at: __flush_work+0xd0/0x1c0 [ 43.418659][ T1713] [ 43.418659][ T1713] but task is already holding lock: [ 43.420521][ T1713] ffff800016c8cc08 (rfkill_global_mutex){+.+.}-{3:3}, at: rfkill_epo+0x58/0x158 [ 43.422929][ T1713] [ 43.422929][ T1713] which lock already depends on the new lock. [ 43.422929][ T1713] [ 43.425678][ T1713] [ 43.425678][ T1713] the existing dependency chain (in reverse order) is: [ 43.428088][ T1713] [ 43.428088][ T1713] -> #4 (rfkill_global_mutex){+.+.}-{3:3}: [ 43.430259][ T1713] __mutex_lock_common+0x194/0x2154 [ 43.431810][ T1713] mutex_lock_nested+0xa4/0xf8 [ 43.433239][ T1713] rfkill_register+0x44/0x7a4 [ 43.434605][ T1713] hci_register_dev+0x3e0/0x880 [ 43.436037][ T1713] vhci_create_device+0x2c4/0x568 [ 43.437513][ T1713] vhci_write+0x318/0x3b8 [ 43.438825][ T1713] vfs_write+0x87c/0xb3c [ 43.440120][ T1713] ksys_write+0x15c/0x26c [ 43.441409][ T1713] __arm64_sys_write+0x7c/0x90 [ 43.442870][ T1713] invoke_syscall+0x98/0x2b8 [ 43.444163][ T1713] el0_svc_common+0x138/0x258 [ 43.445515][ T1713] do_el0_svc+0x58/0x14c [ 43.446771][ T1713] el0_svc+0x7c/0x1f0 [ 43.447952][ T1713] el0t_64_sync_handler+0x84/0xe4 [ 43.449357][ T1713] el0t_64_sync+0x1a0/0x1a4 [ 43.450715][ T1713] [ 43.450715][ T1713] -> #3 (&data->open_mutex){+.+.}-{3:3}: [ 43.452804][ T1713] __mutex_lock_common+0x194/0x2154 [ 43.454272][ T1713] mutex_lock_nested+0xa4/0xf8 [ 43.455634][ T1713] vhci_send_frame+0x8c/0x10c [ 43.457023][ T1713] hci_send_frame+0x194/0x2f0 [ 43.458437][ T1713] hci_tx_work+0x8d8/0x157c [ 43.459764][ T1713] process_one_work+0x790/0x11b8 [ 43.461269][ T1713] worker_thread+0x910/0x1034 [ 43.462611][ T1713] kthread+0x37c/0x45c [ 43.463814][ T1713] ret_from_fork+0x10/0x20 [ 43.465129][ T1713] [ 43.465129][ T1713] -> #2 ((work_completion)(&hdev->tx_work)){+.+.}-{0:0}: [ 43.467529][ T1713] __flush_work+0xf8/0x1c0 [ 43.468800][ T1713] flush_work+0x24/0x38 [ 43.470043][ T1713] hci_dev_do_close+0x16c/0x1060 [ 43.471527][ T1713] hci_unregister_dev+0x228/0x4b4 [ 43.473015][ T1713] vhci_release+0x74/0xc4 [ 43.474283][ T1713] __fput+0x30c/0x7f0 [ 43.475486][ T1713] ____fput+0x20/0x30 [ 43.476658][ T1713] task_work_run+0x130/0x1e4 [ 43.477993][ T1713] do_exit+0x688/0x2134 [ 43.479207][ T1713] do_group_exit+0x110/0x268 [ 43.480541][ T1713] __wake_up_parent+0x0/0x60 [ 43.481898][ T1713] invoke_syscall+0x98/0x2b8 [ 43.483201][ T1713] el0_svc_common+0x138/0x258 [ 43.484580][ T1713] do_el0_svc+0x58/0x14c [ 43.485830][ T1713] el0_svc+0x7c/0x1f0 [ 43.487032][ T1713] el0t_64_sync_handler+0x84/0xe4 [ 43.488496][ T1713] el0t_64_sync+0x1a0/0x1a4 [ 43.489829][ T1713] [ 43.489829][ T1713] -> #1 (&hdev->req_lock){+.+.}-{3:3}: [ 43.491880][ T1713] __mutex_lock_common+0x194/0x2154 [ 43.493440][ T1713] mutex_lock_nested+0xa4/0xf8 [ 43.494873][ T1713] bg_scan_update+0x9c/0x470 [ 43.496271][ T1713] process_one_work+0x790/0x11b8 [ 43.497788][ T1713] worker_thread+0x910/0x1034 [ 43.499177][ T1713] kthread+0x37c/0x45c [ 43.500373][ T1713] ret_from_fork+0x10/0x20 [ 43.501657][ T1713] [ 43.501657][ T1713] -> #0 ((work_completion)(&hdev->bg_scan_update)){+.+.}-{0:0}: [ 43.504259][ T1713] __lock_acquire+0x32cc/0x7620 [ 43.505674][ T1713] lock_acquire+0x240/0x77c [ 43.506987][ T1713] __flush_work+0xf8/0x1c0 [ 43.508316][ T1713] __cancel_work_timer+0x3ec/0x548 [ 43.509839][ T1713] cancel_work_sync+0x24/0x38 [ 43.511235][ T1713] hci_request_cancel_all+0xcc/0x2d0 [ 43.512776][ T1713] hci_dev_do_close+0x54/0x1060 [ 43.514187][ T1713] hci_rfkill_set_block+0xdc/0x1d0 [ 43.515659][ T1713] rfkill_set_block+0x18c/0x37c [ 43.517070][ T1713] rfkill_epo+0x8c/0x158 [ 43.518337][ T1713] rfkill_op_handler+0x170/0x288 [ 43.519828][ T1713] process_one_work+0x790/0x11b8 [ 43.521276][ T1713] worker_thread+0x910/0x1034 [ 43.522682][ T1713] kthread+0x37c/0x45c [ 43.523877][ T1713] ret_from_fork+0x10/0x20 [ 43.525212][ T1713] [ 43.525212][ T1713] other info that might help us debug this: [ 43.525212][ T1713] [ 43.527117][ T1713] Chain exists of: [ 43.527117][ T1713] (work_completion)(&hdev->bg_scan_update) --> &data->open_mutex --> rfkill_global_mutex [ 43.527117][ T1713] [ 43.529986][ T1713] Possible unsafe locking scenario: [ 43.529986][ T1713] [ 43.531911][ T1713] CPU0 CPU1 [ 43.533343][ T1713] ---- ---- [ 43.534791][ T1713] lock(rfkill_global_mutex); [ 43.536080][ T1713] lock(&data->open_mutex); [ 43.537935][ T1713] lock(rfkill_global_mutex); [ 43.539811][ T1713] lock((work_completion)(&hdev->bg_scan_update)); [ 43.541587][ T1713] [ 43.541587][ T1713] *** DEADLOCK *** [ 43.541587][ T1713] [ 43.543736][ T1713] 3 locks held by kworker/0:2/1713: [ 43.545085][ T1713] #0: ffff0000c0020d38 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x66c/0x11b8 [ 43.547839][ T1713] #1: ffff8000214c7c00 ((rfkill_op_work).work){+.+.}-{0:0}, at: process_one_work+0x6ac/0x11b8 [ 43.550709][ T1713] #2: ffff800016c8cc08 (rfkill_global_mutex){+.+.}-{3:3}, at: rfkill_epo+0x58/0x158 [ 43.553246][ T1713] [ 43.553246][ T1713] stack backtrace: [ 43.554759][ T1713] CPU: 0 PID: 1713 Comm: kworker/0:2 Not tainted 5.15.137-syzkaller #0 [ 43.556946][ T1713] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/06/2023 [ 43.559582][ T1713] Workqueue: events rfkill_op_handler [ 43.561057][ T1713] Call trace: [ 43.561923][ T1713] dump_backtrace+0x0/0x530 [ 43.563117][ T1713] show_stack+0x2c/0x3c [ 43.564224][ T1713] dump_stack_lvl+0x108/0x170 [ 43.565472][ T1713] dump_stack+0x1c/0x58 [ 43.566508][ T1713] print_circular_bug+0x150/0x1b8 [ 43.567821][ T1713] check_noncircular+0x2cc/0x378 [ 43.569160][ T1713] __lock_acquire+0x32cc/0x7620 [ 43.570427][ T1713] lock_acquire+0x240/0x77c [ 43.571585][ T1713] __flush_work+0xf8/0x1c0 [ 43.572836][ T1713] __cancel_work_timer+0x3ec/0x548 [ 43.574183][ T1713] cancel_work_sync+0x24/0x38 [ 43.575400][ T1713] hci_request_cancel_all+0xcc/0x2d0 [ 43.576815][ T1713] hci_dev_do_close+0x54/0x1060 [ 43.578065][ T1713] hci_rfkill_set_block+0xdc/0x1d0 [ 43.579405][ T1713] rfkill_set_block+0x18c/0x37c [ 43.580661][ T1713] rfkill_epo+0x8c/0x158 [ 43.581771][ T1713] rfkill_op_handler+0x170/0x288 [ 43.583101][ T1713] process_one_work+0x790/0x11b8 [ 43.584428][ T1713] worker_thread+0x910/0x1034 [ 43.585653][ T1713] kthread+0x37c/0x45c [ 43.586801][ T1713] ret_from_fork+0x10/0x20