Warning: Permanently added '10.128.1.7' (ED25519) to the list of known hosts. executing program syzkaller login: [ 37.224863][ T3973] input: syz0 as /devices/virtual/input/input2 [ 37.274937][ T25] [ 37.275550][ T25] ====================================================== [ 37.277210][ T25] WARNING: possible circular locking dependency detected [ 37.278773][ T25] 5.15.158-syzkaller #0 Not tainted [ 37.279951][ T25] ------------------------------------------------------ [ 37.281495][ T25] kworker/1:1/25 is trying to acquire lock: [ 37.282793][ T25] ffff0000d6ba0c28 ((work_completion)(&hdev->bg_scan_update)){+.+.}-{0:0}, at: __flush_work+0xd0/0x1c0 [ 37.285376][ T25] [ 37.285376][ T25] but task is already holding lock: [ 37.287051][ T25] ffff800016cb9448 (rfkill_global_mutex){+.+.}-{3:3}, at: rfkill_epo+0x58/0x158 [ 37.289250][ T25] [ 37.289250][ T25] which lock already depends on the new lock. [ 37.289250][ T25] [ 37.291666][ T25] [ 37.291666][ T25] the existing dependency chain (in reverse order) is: [ 37.293717][ T25] [ 37.293717][ T25] -> #4 (rfkill_global_mutex){+.+.}-{3:3}: [ 37.295453][ T25] __mutex_lock_common+0x194/0x2154 [ 37.296818][ T25] mutex_lock_nested+0xa4/0xf8 [ 37.298000][ T25] rfkill_register+0x44/0x7a4 [ 37.299221][ T25] hci_register_dev+0x3e0/0x880 [ 37.300468][ T25] vhci_create_device+0x2c4/0x568 [ 37.301765][ T25] vhci_write+0x318/0x3b8 [ 37.302785][ T25] vfs_write+0x87c/0xb3c [ 37.303999][ T25] ksys_write+0x15c/0x26c [ 37.305171][ T25] __arm64_sys_write+0x7c/0x90 [ 37.306372][ T25] invoke_syscall+0x98/0x2b8 [ 37.307596][ T25] el0_svc_common+0x138/0x258 [ 37.308795][ T25] do_el0_svc+0x58/0x14c [ 37.309821][ T25] el0_svc+0x7c/0x1f0 [ 37.310824][ T25] el0t_64_sync_handler+0x84/0xe4 [ 37.312109][ T25] el0t_64_sync+0x1a0/0x1a4 [ 37.313264][ T25] [ 37.313264][ T25] -> #3 (&data->open_mutex){+.+.}-{3:3}: [ 37.315104][ T25] __mutex_lock_common+0x194/0x2154 [ 37.316393][ T25] mutex_lock_nested+0xa4/0xf8 [ 37.317621][ T25] vhci_send_frame+0x8c/0x10c [ 37.318786][ T25] hci_send_frame+0x194/0x2f0 [ 37.320059][ T25] hci_tx_work+0x8d8/0x157c [ 37.321186][ T25] process_one_work+0x790/0x11b8 [ 37.322428][ T25] worker_thread+0x910/0x1034 [ 37.323635][ T25] kthread+0x37c/0x45c [ 37.324629][ T25] ret_from_fork+0x10/0x20 [ 37.325899][ T25] [ 37.325899][ T25] -> #2 ((work_completion)(&hdev->tx_work)){+.+.}-{0:0}: [ 37.328022][ T25] __flush_work+0xf8/0x1c0 [ 37.329122][ T25] flush_work+0x24/0x38 [ 37.330264][ T25] hci_dev_do_close+0x16c/0x1060 [ 37.331501][ T25] hci_unregister_dev+0x228/0x4b4 [ 37.332776][ T25] vhci_release+0x74/0xc4 [ 37.333897][ T25] __fput+0x30c/0x7f0 [ 37.334966][ T25] ____fput+0x20/0x30 [ 37.336065][ T25] task_work_run+0x130/0x1e4 [ 37.337236][ T25] do_exit+0x670/0x20bc [ 37.338309][ T25] do_group_exit+0x110/0x268 [ 37.339541][ T25] __wake_up_parent+0x0/0x60 [ 37.340708][ T25] invoke_syscall+0x98/0x2b8 [ 37.342026][ T25] el0_svc_common+0x138/0x258 [ 37.343269][ T25] do_el0_svc+0x58/0x14c [ 37.344449][ T25] el0_svc+0x7c/0x1f0 [ 37.345460][ T25] el0t_64_sync_handler+0x84/0xe4 [ 37.346754][ T25] el0t_64_sync+0x1a0/0x1a4 [ 37.347893][ T25] [ 37.347893][ T25] -> #1 (&hdev->req_lock){+.+.}-{3:3}: [ 37.349629][ T25] __mutex_lock_common+0x194/0x2154 [ 37.350897][ T25] mutex_lock_nested+0xa4/0xf8 [ 37.352153][ T25] bg_scan_update+0x9c/0x470 [ 37.353428][ T25] process_one_work+0x790/0x11b8 [ 37.354772][ T25] worker_thread+0x910/0x1034 [ 37.355935][ T25] kthread+0x37c/0x45c [ 37.357055][ T25] ret_from_fork+0x10/0x20 [ 37.358184][ T25] [ 37.358184][ T25] -> #0 ((work_completion)(&hdev->bg_scan_update)){+.+.}-{0:0}: [ 37.360494][ T25] __lock_acquire+0x32d4/0x7638 [ 37.361726][ T25] lock_acquire+0x240/0x77c [ 37.362918][ T25] __flush_work+0xf8/0x1c0 [ 37.364066][ T25] __cancel_work_timer+0x3ec/0x548 [ 37.365426][ T25] cancel_work_sync+0x24/0x38 [ 37.366695][ T25] hci_request_cancel_all+0xcc/0x2d0 [ 37.368096][ T25] hci_dev_do_close+0x54/0x1060 [ 37.369325][ T25] hci_rfkill_set_block+0xdc/0x1d0 [ 37.370620][ T25] rfkill_set_block+0x18c/0x37c [ 37.371860][ T25] rfkill_epo+0x8c/0x158 [ 37.372903][ T25] rfkill_op_handler+0x170/0x288 [ 37.374186][ T25] process_one_work+0x790/0x11b8 [ 37.375460][ T25] worker_thread+0x910/0x1034 [ 37.376761][ T25] kthread+0x37c/0x45c [ 37.377808][ T25] ret_from_fork+0x10/0x20 [ 37.379034][ T25] [ 37.379034][ T25] other info that might help us debug this: [ 37.379034][ T25] [ 37.381488][ T25] Chain exists of: [ 37.381488][ T25] (work_completion)(&hdev->bg_scan_update) --> &data->open_mutex --> rfkill_global_mutex [ 37.381488][ T25] [ 37.385161][ T25] Possible unsafe locking scenario: [ 37.385161][ T25] [ 37.386876][ T25] CPU0 CPU1 [ 37.388151][ T25] ---- ---- [ 37.389459][ T25] lock(rfkill_global_mutex); [ 37.390533][ T25] lock(&data->open_mutex); [ 37.392211][ T25] lock(rfkill_global_mutex); [ 37.393990][ T25] lock((work_completion)(&hdev->bg_scan_update)); [ 37.395586][ T25] [ 37.395586][ T25] *** DEADLOCK *** [ 37.395586][ T25] [ 37.397472][ T25] 3 locks held by kworker/1:1/25: [ 37.398631][ T25] #0: ffff0000c0020938 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x66c/0x11b8 [ 37.400993][ T25] #1: ffff800018a77c00 ((rfkill_op_work).work){+.+.}-{0:0}, at: process_one_work+0x6ac/0x11b8 [ 37.403393][ T25] #2: ffff800016cb9448 (rfkill_global_mutex){+.+.}-{3:3}, at: rfkill_epo+0x58/0x158 [ 37.405576][ T25] [ 37.405576][ T25] stack backtrace: [ 37.406922][ T25] CPU: 1 PID: 25 Comm: kworker/1:1 Not tainted 5.15.158-syzkaller #0 [ 37.408862][ T25] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 [ 37.411201][ T25] Workqueue: events rfkill_op_handler [ 37.412458][ T25] Call trace: [ 37.413209][ T25] dump_backtrace+0x0/0x530 [ 37.414277][ T25] show_stack+0x2c/0x3c [ 37.415305][ T25] dump_stack_lvl+0x108/0x170 [ 37.416421][ T25] dump_stack+0x1c/0x58 [ 37.417389][ T25] print_circular_bug+0x150/0x1b8 [ 37.418532][ T25] check_noncircular+0x2cc/0x378 [ 37.419678][ T25] __lock_acquire+0x32d4/0x7638 [ 37.420823][ T25] lock_acquire+0x240/0x77c [ 37.421839][ T25] __flush_work+0xf8/0x1c0 [ 37.422829][ T25] __cancel_work_timer+0x3ec/0x548 [ 37.424045][ T25] cancel_work_sync+0x24/0x38 [ 37.425077][ T25] hci_request_cancel_all+0xcc/0x2d0 [ 37.426364][ T25] hci_dev_do_close+0x54/0x1060 [ 37.427572][ T25] hci_rfkill_set_block+0xdc/0x1d0 [ 37.428776][ T25] rfkill_set_block+0x18c/0x37c [ 37.429838][ T25] rfkill_epo+0x8c/0x158 [ 37.430843][ T25] rfkill_op_handler+0x170/0x288 [ 37.432033][ T25] process_one_work+0x790/0x11b8 [ 37.433232][ T25] worker_thread+0x910/0x1034 [ 37.434360][ T25] kthread+0x37c/0x45c [ 37.435291][ T25] ret_from_fork+0x10/0x20