block nbd3: Receive control failed (result -22) block nbd3: shutting down sockets ============================================ WARNING: possible recursive locking detected 5.4.0-rc5+ #0 Not tainted -------------------------------------------- kworker/u5:2/22978 is trying to acquire lock: ffff888098550128 ((wq_completion)knbd3-recv){+.+.}, at: flush_workqueue+0xf0/0x14b0 kernel/workqueue.c:2774 but task is already holding lock: ffff888098550128 ((wq_completion)knbd3-recv){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline] ffff888098550128 ((wq_completion)knbd3-recv){+.+.}, at: process_one_work+0x75d/0x10e0 kernel/workqueue.c:2242 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock((wq_completion)knbd3-recv); lock((wq_completion)knbd3-recv); *** DEADLOCK *** May be due to missing lock nesting notation 3 locks held by kworker/u5:2/22978: #0: ffff888098550128 ((wq_completion)knbd3-recv){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline] #0: ffff888098550128 ((wq_completion)knbd3-recv){+.+.}, at: process_one_work+0x75d/0x10e0 kernel/workqueue.c:2242 #1: ffff888057e27d78 ((work_completion)(&args->work)){+.+.}, at: process_one_work+0x79f/0x10e0 kernel/workqueue.c:2244 #2: ffff8880a37ae578 (&nbd->config_lock){+.+.}, at: refcount_dec_and_mutex_lock+0x2f/0x60 lib/refcount.c:319 stack backtrace: CPU: 0 PID: 22978 Comm: kworker/u5:2 Not tainted 5.4.0-rc5+ #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: knbd3-recv recv_work Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1d8/0x2f8 lib/dump_stack.c:113 print_deadlock_bug kernel/locking/lockdep.c:2371 [inline] check_deadlock kernel/locking/lockdep.c:2412 [inline] validate_chain+0x61bd/0x7bc0 kernel/locking/lockdep.c:2955 __lock_acquire+0xc75/0x1be0 kernel/locking/lockdep.c:3955 lock_acquire+0x158/0x250 kernel/locking/lockdep.c:4487 flush_workqueue+0x10c/0x14b0 kernel/workqueue.c:2774 drain_workqueue+0xb9/0x500 kernel/workqueue.c:2939 destroy_workqueue+0x2b/0xe00 kernel/workqueue.c:4329 nbd_config_put+0x525/0x740 drivers/block/nbd.c:1208 recv_work+0x126c/0x12d0 drivers/block/nbd.c:792 process_one_work+0x7ef/0x10e0 kernel/workqueue.c:2269 worker_thread+0xc01/0x1630 kernel/workqueue.c:2415 kthread+0x332/0x350 kernel/kthread.c:255 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352