Warning: Permanently added '10.128.0.71' (ECDSA) to the list of known hosts. executing program [ 40.084499][ T4309] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 executing program [ 40.315807][ T4319] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 executing program [ 40.546875][ T4325] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 executing program [ 40.779031][ T4332] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 executing program [ 41.009897][ T4338] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 executing program [ 41.238595][ T4345] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 executing program [ 41.469730][ T4352] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 executing program [ 41.699849][ T4358] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 executing program [ 41.929842][ T4364] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 executing program [ 42.159683][ T4370] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 executing program [ 42.388922][ T4376] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 executing program [ 42.457353][ T4382] [ 42.457980][ T4382] ====================================================== [ 42.459708][ T4382] WARNING: possible circular locking dependency detected [ 42.461317][ T4382] 6.1.15-syzkaller #0 Not tainted [ 42.462462][ T4382] ------------------------------------------------------ [ 42.464135][ T4382] syz-executor303/4382 is trying to acquire lock: [ 42.465640][ T4382] ffff0000d9d49350 (&ndev->req_lock){+.+.}-{3:3}, at: nci_start_poll+0x498/0x1204 [ 42.467901][ T4382] [ 42.467901][ T4382] but task is already holding lock: [ 42.469741][ T4382] ffff0000d9d4a520 (&genl_data->genl_data_mutex){+.+.}-{3:3}, at: nfc_genl_start_poll+0x1a8/0x308 [ 42.472427][ T4382] [ 42.472427][ T4382] which lock already depends on the new lock. [ 42.472427][ T4382] [ 42.474936][ T4382] [ 42.474936][ T4382] the existing dependency chain (in reverse order) is: [ 42.477128][ T4382] [ 42.477128][ T4382] -> #3 (&genl_data->genl_data_mutex){+.+.}-{3:3}: [ 42.479340][ T4382] __mutex_lock_common+0x190/0x21a0 [ 42.480724][ T4382] mutex_lock_nested+0x38/0x44 [ 42.481988][ T4382] nfc_urelease_event_work+0xfc/0x2a8 [ 42.483526][ T4382] process_one_work+0x848/0x16b4 [ 42.484957][ T4382] worker_thread+0x8e4/0xfec [ 42.486224][ T4382] kthread+0x24c/0x2d4 [ 42.487363][ T4382] ret_from_fork+0x10/0x20 [ 42.488622][ T4382] [ 42.488622][ T4382] -> #2 (nfc_devlist_mutex){+.+.}-{3:3}: [ 42.490572][ T4382] __mutex_lock_common+0x190/0x21a0 [ 42.492039][ T4382] mutex_lock_nested+0x38/0x44 [ 42.493374][ T4382] nfc_register_device+0x4c/0x310 [ 42.494745][ T4382] nci_register_device+0x6ac/0x7c4 [ 42.496123][ T4382] virtual_ncidev_open+0x6c/0xd8 [ 42.497455][ T4382] misc_open+0x2f0/0x368 [ 42.498593][ T4382] chrdev_open+0x3e8/0x4fc [ 42.499857][ T4382] do_dentry_open+0x734/0xfa0 [ 42.501132][ T4382] vfs_open+0x7c/0x90 [ 42.502211][ T4382] path_openat+0x1e10/0x2540 [ 42.503469][ T4382] do_filp_open+0x1bc/0x3cc [ 42.504755][ T4382] do_sys_openat2+0x128/0x3d8 [ 42.506074][ T4382] __arm64_sys_openat+0x1f0/0x240 [ 42.507491][ T4382] invoke_syscall+0x98/0x2c0 [ 42.508791][ T4382] el0_svc_common+0x138/0x258 [ 42.510140][ T4382] do_el0_svc+0x64/0x218 [ 42.511289][ T4382] el0_svc+0x58/0x168 [ 42.512437][ T4382] el0t_64_sync_handler+0x84/0xf0 [ 42.513839][ T4382] el0t_64_sync+0x18c/0x190 [ 42.515178][ T4382] [ 42.515178][ T4382] -> #1 (nci_mutex){+.+.}-{3:3}: [ 42.517028][ T4382] __mutex_lock_common+0x190/0x21a0 [ 42.518564][ T4382] mutex_lock_nested+0x38/0x44 [ 42.519875][ T4382] virtual_nci_close+0x28/0x58 [ 42.521233][ T4382] nci_dev_up+0x754/0xb10 [ 42.522515][ T4382] nfc_dev_up+0x154/0x300 [ 42.523659][ T4382] nfc_genl_dev_up+0x98/0xdc [ 42.524857][ T4382] genl_rcv_msg+0x948/0xc2c [ 42.526122][ T4382] netlink_rcv_skb+0x20c/0x3b8 [ 42.527491][ T4382] genl_rcv+0x38/0x50 [ 42.528578][ T4382] netlink_unicast+0x660/0x8d4 [ 42.529953][ T4382] netlink_sendmsg+0x800/0xae0 [ 42.531293][ T4382] ____sys_sendmsg+0x558/0x844 [ 42.532628][ T4382] __sys_sendmsg+0x26c/0x33c [ 42.533927][ T4382] __arm64_sys_sendmsg+0x80/0x94 [ 42.535265][ T4382] invoke_syscall+0x98/0x2c0 [ 42.536559][ T4382] el0_svc_common+0x138/0x258 [ 42.537890][ T4382] do_el0_svc+0x64/0x218 [ 42.539022][ T4382] el0_svc+0x58/0x168 [ 42.540148][ T4382] el0t_64_sync_handler+0x84/0xf0 [ 42.541470][ T4382] el0t_64_sync+0x18c/0x190 [ 42.542662][ T4382] [ 42.542662][ T4382] -> #0 (&ndev->req_lock){+.+.}-{3:3}: [ 42.544691][ T4382] __lock_acquire+0x3338/0x764c [ 42.546045][ T4382] lock_acquire+0x2f8/0x8dc [ 42.547266][ T4382] __mutex_lock_common+0x190/0x21a0 [ 42.548734][ T4382] mutex_lock_nested+0x38/0x44 [ 42.550019][ T4382] nci_start_poll+0x498/0x1204 [ 42.551331][ T4382] nfc_start_poll+0x164/0x2a4 [ 42.552627][ T4382] nfc_genl_start_poll+0x1b8/0x308 [ 42.554044][ T4382] genl_rcv_msg+0x948/0xc2c [ 42.555308][ T4382] netlink_rcv_skb+0x20c/0x3b8 [ 42.556571][ T4382] genl_rcv+0x38/0x50 [ 42.557697][ T4382] netlink_unicast+0x660/0x8d4 [ 42.559033][ T4382] netlink_sendmsg+0x800/0xae0 [ 42.560336][ T4382] ____sys_sendmsg+0x558/0x844 [ 42.561651][ T4382] __sys_sendmsg+0x26c/0x33c [ 42.562946][ T4382] __arm64_sys_sendmsg+0x80/0x94 [ 42.564236][ T4382] invoke_syscall+0x98/0x2c0 [ 42.565517][ T4382] el0_svc_common+0x138/0x258 [ 42.566782][ T4382] do_el0_svc+0x64/0x218 [ 42.567948][ T4382] el0_svc+0x58/0x168 [ 42.569058][ T4382] el0t_64_sync_handler+0x84/0xf0 [ 42.570455][ T4382] el0t_64_sync+0x18c/0x190 [ 42.571759][ T4382] [ 42.571759][ T4382] other info that might help us debug this: [ 42.571759][ T4382] [ 42.574226][ T4382] Chain exists of: [ 42.574226][ T4382] &ndev->req_lock --> nfc_devlist_mutex --> &genl_data->genl_data_mutex [ 42.574226][ T4382] [ 42.577580][ T4382] Possible unsafe locking scenario: [ 42.577580][ T4382] [ 42.579372][ T4382] CPU0 CPU1 [ 42.580675][ T4382] ---- ---- [ 42.582087][ T4382] lock(&genl_data->genl_data_mutex); [ 42.583398][ T4382] lock(nfc_devlist_mutex); [ 42.585131][ T4382] lock(&genl_data->genl_data_mutex); [ 42.587134][ T4382] lock(&ndev->req_lock); [ 42.588223][ T4382] [ 42.588223][ T4382] *** DEADLOCK *** [ 42.588223][ T4382] [ 42.590313][ T4382] 4 locks held by syz-executor303/4382: [ 42.591729][ T4382] #0: ffff800017d78ed0 (cb_lock){++++}-{3:3}, at: genl_rcv+0x28/0x50 [ 42.593862][ T4382] #1: ffff800017d78d88 (genl_mutex){+.+.}-{3:3}, at: genl_rcv_msg+0x114/0xc2c [ 42.596371][ T4382] #2: ffff0000d9d4a520 (&genl_data->genl_data_mutex){+.+.}-{3:3}, at: nfc_genl_start_poll+0x1a8/0x308 [ 42.599348][ T4382] #3: ffff0000d9d4a100 (&dev->mutex){....}-{3:3}, at: nfc_start_poll+0x60/0x2a4 [ 42.601766][ T4382] [ 42.601766][ T4382] stack backtrace: [ 42.603227][ T4382] CPU: 0 PID: 4382 Comm: syz-executor303 Not tainted 6.1.15-syzkaller #0 [ 42.605391][ T4382] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/02/2023 [ 42.607959][ T4382] Call trace: [ 42.608777][ T4382] dump_backtrace+0x1c8/0x1f4 [ 42.609961][ T4382] show_stack+0x2c/0x3c [ 42.611000][ T4382] dump_stack_lvl+0x108/0x170 [ 42.612191][ T4382] dump_stack+0x1c/0x58 [ 42.613219][ T4382] print_circular_bug+0x150/0x1b8 [ 42.614494][ T4382] check_noncircular+0x2cc/0x378 [ 42.615702][ T4382] __lock_acquire+0x3338/0x764c [ 42.616937][ T4382] lock_acquire+0x2f8/0x8dc [ 42.618050][ T4382] __mutex_lock_common+0x190/0x21a0 [ 42.619370][ T4382] mutex_lock_nested+0x38/0x44 [ 42.620570][ T4382] nci_start_poll+0x498/0x1204 [ 42.621713][ T4382] nfc_start_poll+0x164/0x2a4 [ 42.622937][ T4382] nfc_genl_start_poll+0x1b8/0x308 [ 42.624235][ T4382] genl_rcv_msg+0x948/0xc2c [ 42.625418][ T4382] netlink_rcv_skb+0x20c/0x3b8 [ 42.626666][ T4382] genl_rcv+0x38/0x50 [ 42.627666][ T4382] netlink_unicast+0x660/0x8d4 [ 42.628863][ T4382] netlink_sendmsg+0x800/0xae0 [ 42.630074][ T4382] ____sys_sendmsg+0x558/0x844 [ 42.631254][ T4382] __sys_sendmsg+0x26c/0x33c [ 42.632415][ T4382] __arm64_sys_sendmsg+0x80/0x94 [ 42.633713][ T4382] invoke_syscall+0x98/0x2c0 [ 42.634864][ T4382] el0_svc_common+0x138/0x258 [ 42.636061][ T4382] do_el0_svc+0x64/0x218 [ 42.637078][ T4382] el0_svc+0x58/0x168 [ 42.638169][ T4382] el0t_64_sync_handler+0x84/0xf0 [ 42.639434][ T4382] el0t_64_sync+0x18c/0x190 [ 42.640856][ T4382] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 [ 42.642843][ T4382] nci: nci_start_poll: failed to set local general bytes [ 47.705861][ T4382] nci: __nci_request: wait_for_completion_interruptible_timeout failed 0 executing program [ 47.927040][ T4389] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 executing program [ 48.147379][ T4395] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 executing program [ 48.367679][ T4401] nci: __nci_request: wait_for_completion_interruptible_timeout failed -512 [ 48.369939][ T4401] nci: nci_start_poll: failed to set local general bytes