Warning: Permanently added '10.128.10.16' (ECDSA) to the list of known hosts. executing program [ 43.075201][ T3968] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 [ 43.077187][ T3968] nci: nci_start_poll: failed to set local general bytes [ 48.103793][ T3968] nci: __nci_request: wait_for_completion_interruptible_timeout failed 0 [ 48.106005][ T3968] [ 48.106549][ T3968] ====================================================== [ 48.107968][ T3968] WARNING: possible circular locking dependency detected [ 48.109451][ T3968] 5.15.111-syzkaller #0 Not tainted [ 48.110529][ T3968] ------------------------------------------------------ [ 48.112015][ T3968] syz-executor259/3968 is trying to acquire lock: [ 48.113402][ T3968] ffff800015c6ac48 (nci_mutex){+.+.}-{3:3}, at: virtual_nci_close+0x28/0x58 [ 48.115232][ T3968] [ 48.115232][ T3968] but task is already holding lock: [ 48.116869][ T3968] ffff0000dbdc7350 (&ndev->req_lock){+.+.}-{3:3}, at: nci_close_device+0xf0/0x5dc [ 48.118947][ T3968] [ 48.118947][ T3968] which lock already depends on the new lock. [ 48.118947][ T3968] [ 48.121065][ T3968] [ 48.121065][ T3968] the existing dependency chain (in reverse order) is: [ 48.122950][ T3968] [ 48.122950][ T3968] -> #3 (&ndev->req_lock){+.+.}-{3:3}: [ 48.124627][ T3968] __mutex_lock_common+0x194/0x2154 [ 48.125887][ T3968] mutex_lock_nested+0xa4/0xf8 [ 48.127018][ T3968] nci_start_poll+0x498/0x1204 [ 48.128123][ T3968] nfc_start_poll+0x164/0x2a4 [ 48.129177][ T3968] nfc_genl_start_poll+0x1b8/0x308 [ 48.130376][ T3968] genl_rcv_msg+0xc18/0x1018 [ 48.131442][ T3968] netlink_rcv_skb+0x20c/0x3b8 [ 48.132583][ T3968] genl_rcv+0x38/0x50 [ 48.133559][ T3968] netlink_unicast+0x664/0x938 [ 48.134749][ T3968] netlink_sendmsg+0x844/0xb38 [ 48.135881][ T3968] ____sys_sendmsg+0x584/0x870 [ 48.136971][ T3968] ___sys_sendmsg+0x214/0x294 [ 48.138133][ T3968] __arm64_sys_sendmsg+0x1ac/0x25c [ 48.139351][ T3968] invoke_syscall+0x98/0x2b8 [ 48.140503][ T3968] el0_svc_common+0x138/0x258 [ 48.141590][ T3968] do_el0_svc+0x58/0x14c [ 48.142558][ T3968] el0_svc+0x7c/0x1f0 [ 48.143526][ T3968] el0t_64_sync_handler+0x84/0xe4 [ 48.144699][ T3968] el0t_64_sync+0x1a0/0x1a4 [ 48.145735][ T3968] [ 48.145735][ T3968] -> #2 (&genl_data->genl_data_mutex){+.+.}-{3:3}: [ 48.147649][ T3968] __mutex_lock_common+0x194/0x2154 [ 48.148859][ T3968] mutex_lock_nested+0xa4/0xf8 [ 48.150010][ T3968] nfc_urelease_event_work+0xfc/0x2a8 [ 48.151319][ T3968] process_one_work+0x790/0x11b8 [ 48.152528][ T3968] worker_thread+0x910/0x1034 [ 48.153715][ T3968] kthread+0x37c/0x45c [ 48.154676][ T3968] ret_from_fork+0x10/0x20 [ 48.155711][ T3968] [ 48.155711][ T3968] -> #1 (nfc_devlist_mutex){+.+.}-{3:3}: [ 48.157413][ T3968] __mutex_lock_common+0x194/0x2154 [ 48.158697][ T3968] mutex_lock_nested+0xa4/0xf8 [ 48.159780][ T3968] nfc_register_device+0x4c/0x310 [ 48.160994][ T3968] nci_register_device+0x6ac/0x7c4 [ 48.162266][ T3968] virtual_ncidev_open+0x6c/0xd8 [ 48.163413][ T3968] misc_open+0x2f0/0x368 [ 48.164410][ T3968] chrdev_open+0x3e8/0x4fc [ 48.165486][ T3968] do_dentry_open+0x780/0xed8 [ 48.166578][ T3968] vfs_open+0x7c/0x90 [ 48.167522][ T3968] path_openat+0x1f28/0x26f0 [ 48.168657][ T3968] do_filp_open+0x1a8/0x3b4 [ 48.169762][ T3968] do_sys_openat2+0x128/0x3d8 [ 48.170906][ T3968] __arm64_sys_openat+0x1f0/0x240 [ 48.172090][ T3968] invoke_syscall+0x98/0x2b8 [ 48.173196][ T3968] el0_svc_common+0x138/0x258 [ 48.174272][ T3968] do_el0_svc+0x58/0x14c [ 48.175343][ T3968] el0_svc+0x7c/0x1f0 [ 48.176376][ T3968] el0t_64_sync_handler+0x84/0xe4 [ 48.177537][ T3968] el0t_64_sync+0x1a0/0x1a4 [ 48.178636][ T3968] [ 48.178636][ T3968] -> #0 (nci_mutex){+.+.}-{3:3}: [ 48.180192][ T3968] __lock_acquire+0x32cc/0x7620 [ 48.181393][ T3968] lock_acquire+0x240/0x77c [ 48.182400][ T3968] __mutex_lock_common+0x194/0x2154 [ 48.183604][ T3968] mutex_lock_nested+0xa4/0xf8 [ 48.184741][ T3968] virtual_nci_close+0x28/0x58 [ 48.185932][ T3968] nci_close_device+0x304/0x5dc [ 48.187030][ T3968] nci_unregister_device+0x5c/0x22c [ 48.188270][ T3968] virtual_ncidev_close+0x70/0xb0 [ 48.189462][ T3968] __fput+0x30c/0x7f0 [ 48.190482][ T3968] ____fput+0x20/0x30 [ 48.191408][ T3968] task_work_run+0x130/0x1e4 [ 48.192502][ T3968] do_exit+0x688/0x2134 [ 48.193471][ T3968] do_group_exit+0x110/0x268 [ 48.194553][ T3968] get_signal+0x634/0x1550 [ 48.195595][ T3968] do_notify_resume+0x3d0/0x32b8 [ 48.196788][ T3968] el0_svc+0xfc/0x1f0 [ 48.197716][ T3968] el0t_64_sync_handler+0x84/0xe4 [ 48.198874][ T3968] el0t_64_sync+0x1a0/0x1a4 [ 48.199936][ T3968] [ 48.199936][ T3968] other info that might help us debug this: [ 48.199936][ T3968] [ 48.202185][ T3968] Chain exists of: [ 48.202185][ T3968] nci_mutex --> &genl_data->genl_data_mutex --> &ndev->req_lock [ 48.202185][ T3968] [ 48.205181][ T3968] Possible unsafe locking scenario: [ 48.205181][ T3968] [ 48.206741][ T3968] CPU0 CPU1 [ 48.207839][ T3968] ---- ---- [ 48.209033][ T3968] lock(&ndev->req_lock); [ 48.209952][ T3968] lock(&genl_data->genl_data_mutex); [ 48.211693][ T3968] lock(&ndev->req_lock); [ 48.213248][ T3968] lock(nci_mutex); [ 48.214134][ T3968] [ 48.214134][ T3968] *** DEADLOCK *** [ 48.214134][ T3968] [ 48.215903][ T3968] 1 lock held by syz-executor259/3968: [ 48.217036][ T3968] #0: ffff0000dbdc7350 (&ndev->req_lock){+.+.}-{3:3}, at: nci_close_device+0xf0/0x5dc [ 48.219117][ T3968] [ 48.219117][ T3968] stack backtrace: [ 48.220315][ T3968] CPU: 1 PID: 3968 Comm: syz-executor259 Not tainted 5.15.111-syzkaller #0 [ 48.222260][ T3968] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/14/2023 [ 48.224312][ T3968] Call trace: [ 48.225025][ T3968] dump_backtrace+0x0/0x530 [ 48.225955][ T3968] show_stack+0x2c/0x3c [ 48.226902][ T3968] dump_stack_lvl+0x108/0x170 [ 48.227852][ T3968] dump_stack+0x1c/0x58 [ 48.228747][ T3968] print_circular_bug+0x150/0x1b8 [ 48.229879][ T3968] check_noncircular+0x2cc/0x378 [ 48.230937][ T3968] __lock_acquire+0x32cc/0x7620 [ 48.232011][ T3968] lock_acquire+0x240/0x77c [ 48.232929][ T3968] __mutex_lock_common+0x194/0x2154 [ 48.233975][ T3968] mutex_lock_nested+0xa4/0xf8 [ 48.235008][ T3968] virtual_nci_close+0x28/0x58 [ 48.236105][ T3968] nci_close_device+0x304/0x5dc [ 48.237104][ T3968] nci_unregister_device+0x5c/0x22c [ 48.238271][ T3968] virtual_ncidev_close+0x70/0xb0 [ 48.239348][ T3968] __fput+0x30c/0x7f0 [ 48.240146][ T3968] ____fput+0x20/0x30 [ 48.241057][ T3968] task_work_run+0x130/0x1e4 [ 48.242110][ T3968] do_exit+0x688/0x2134 [ 48.243056][ T3968] do_group_exit+0x110/0x268 [ 48.244049][ T3968] get_signal+0x634/0x1550 [ 48.244958][ T3968] do_notify_resume+0x3d0/0x32b8 [ 48.245962][ T3968] el0_svc+0xfc/0x1f0 [ 48.246755][ T3968] el0t_64_sync_handler+0x84/0xe4 [ 48.247926][ T3968] el0t_64_sync+0x1a0/0x1a4 executing program [ 48.476166][ T3972] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 executing program [ 48.699619][ T3983] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 [ 48.701457][ T3983] nci: nci_start_poll: failed to set local general bytes [ 53.783618][ T3983] nci: __nci_request: wait_for_completion_interruptible_timeout failed 0 executing program [ 54.003697][ T3992] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 [ 54.005607][ T3992] nci: nci_start_poll: failed to set local general bytes