block nbd0: Receive control failed (result -22) block nbd0: Receive control failed (result -22) block nbd0: Receive control failed (result -22) block nbd0: shutting down sockets ============================================ WARNING: possible recursive locking detected 5.4.0-rc3+ #0 Not tainted -------------------------------------------- kworker/u5:0/1527 is trying to acquire lock: ffff888097906928 ((wq_completion)knbd0-recv){+.+.}, at: flush_workqueue+0xf0/0x14b0 kernel/workqueue.c:2774 but task is already holding lock: ffff888097906928 ((wq_completion)knbd0-recv){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline] ffff888097906928 ((wq_completion)knbd0-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)knbd0-recv); lock((wq_completion)knbd0-recv); *** DEADLOCK *** May be due to missing lock nesting notation 3 locks held by kworker/u5:0/1527: #0: ffff888097906928 ((wq_completion)knbd0-recv){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline] #0: ffff888097906928 ((wq_completion)knbd0-recv){+.+.}, at: process_one_work+0x75d/0x10e0 kernel/workqueue.c:2242 #1: ffff8880a63a7d78 ((work_completion)(&args->work)){+.+.}, at: process_one_work+0x79f/0x10e0 kernel/workqueue.c:2244 #2: ffff8880a31dd978 (&nbd->config_lock){+.+.}, at: refcount_dec_and_mutex_lock+0x2f/0x60 lib/refcount.c:319 stack backtrace: CPU: 1 PID: 1527 Comm: kworker/u5:0 Not tainted 5.4.0-rc3+ #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: knbd0-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:1181 recv_work+0x11eb/0x1250 drivers/block/nbd.c:787 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