random: sshd: uninitialized urandom read (32 bytes read) audit: type=1400 audit(1561986255.874:36): avc: denied { map } for pid=7184 comm="syz-executor873" path="/root/syz-executor873248452" dev="sda1" ino=16483 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=file permissive=1 ====================================================== WARNING: possible circular locking dependency detected 4.14.131 #25 Not tainted ------------------------------------------------------ syz-executor873/7184 is trying to acquire lock: (&bdev->bd_mutex){+.+.}, at: [] blkdev_reread_part+0x1f/0x40 block/ioctl.c:192 but task is already holding lock: (&nbd->config_lock){+.+.}, at: [] nbd_ioctl+0x134/0xae0 drivers/block/nbd.c:1289 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #2 (&nbd->config_lock){+.+.}: lock_acquire+0x16f/0x430 kernel/locking/lockdep.c:3991 __mutex_lock_common kernel/locking/mutex.c:756 [inline] __mutex_lock+0xe8/0x1470 kernel/locking/mutex.c:893 mutex_lock_nested+0x16/0x20 kernel/locking/mutex.c:908 nbd_open+0xf2/0x1f0 drivers/block/nbd.c:1337 __blkdev_get+0x2c7/0x1120 fs/block_dev.c:1472 blkdev_get+0xa8/0x8e0 fs/block_dev.c:1612 blkdev_open+0x1d1/0x260 fs/block_dev.c:1770 do_dentry_open+0x73b/0xeb0 fs/open.c:758 vfs_open+0x105/0x220 fs/open.c:872 do_last fs/namei.c:3425 [inline] path_openat+0x8bd/0x3f70 fs/namei.c:3566 do_filp_open+0x18e/0x250 fs/namei.c:3600 do_sys_open+0x2c5/0x430 fs/open.c:1065 SYSC_open fs/open.c:1083 [inline] SyS_open+0x2d/0x40 fs/open.c:1078 do_syscall_64+0x1e8/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 -> #1 (nbd_index_mutex){+.+.}: lock_acquire+0x16f/0x430 kernel/locking/lockdep.c:3991 __mutex_lock_common kernel/locking/mutex.c:756 [inline] __mutex_lock+0xe8/0x1470 kernel/locking/mutex.c:893 mutex_lock_nested+0x16/0x20 kernel/locking/mutex.c:908 nbd_open+0x27/0x1f0 drivers/block/nbd.c:1324 __blkdev_get+0x2c7/0x1120 fs/block_dev.c:1472 blkdev_get+0xa8/0x8e0 fs/block_dev.c:1612 blkdev_open+0x1d1/0x260 fs/block_dev.c:1770 do_dentry_open+0x73b/0xeb0 fs/open.c:758 vfs_open+0x105/0x220 fs/open.c:872 do_last fs/namei.c:3425 [inline] path_openat+0x8bd/0x3f70 fs/namei.c:3566 do_filp_open+0x18e/0x250 fs/namei.c:3600 do_sys_open+0x2c5/0x430 fs/open.c:1065 SYSC_open fs/open.c:1083 [inline] SyS_open+0x2d/0x40 fs/open.c:1078 do_syscall_64+0x1e8/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 -> #0 (&bdev->bd_mutex){+.+.}: check_prev_add kernel/locking/lockdep.c:1901 [inline] check_prevs_add kernel/locking/lockdep.c:2018 [inline] validate_chain kernel/locking/lockdep.c:2460 [inline] __lock_acquire+0x2c89/0x45e0 kernel/locking/lockdep.c:3487 lock_acquire+0x16f/0x430 kernel/locking/lockdep.c:3991 __mutex_lock_common kernel/locking/mutex.c:756 [inline] __mutex_lock+0xe8/0x1470 kernel/locking/mutex.c:893 mutex_lock_nested+0x16/0x20 kernel/locking/mutex.c:908 blkdev_reread_part+0x1f/0x40 block/ioctl.c:192 nbd_bdev_reset drivers/block/nbd.c:1031 [inline] nbd_clear_sock_ioctl drivers/block/nbd.c:1211 [inline] __nbd_ioctl drivers/block/nbd.c:1227 [inline] nbd_ioctl+0x801/0xae0 drivers/block/nbd.c:1296 __blkdev_driver_ioctl block/ioctl.c:297 [inline] blkdev_ioctl+0x96b/0x1860 block/ioctl.c:594 block_ioctl+0xde/0x120 fs/block_dev.c:1881 vfs_ioctl fs/ioctl.c:46 [inline] file_ioctl fs/ioctl.c:500 [inline] do_vfs_ioctl+0x7ae/0x1060 fs/ioctl.c:684 SYSC_ioctl fs/ioctl.c:701 [inline] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:692 do_syscall_64+0x1e8/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 other info that might help us debug this: Chain exists of: &bdev->bd_mutex --> nbd_index_mutex --> &nbd->config_lock Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&nbd->config_lock); lock(nbd_index_mutex); lock(&nbd->config_lock); lock(&bdev->bd_mutex); *** DEADLOCK *** 1 lock held by syz-executor873/7184: #0: (&nbd->config_lock){+.+.}, at: [] nbd_ioctl+0x134/0xae0 drivers/block/nbd.c:1289 stack backtrace: CPU: 0 PID: 7184 Comm: syz-executor873 Not tainted 4.14.131 #25 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x138/0x19c lib/dump_stack.c:53 print_circular_bug.isra.0.cold+0x1cc/0x28f kernel/locking/lockdep.c:1258 check_prev_add kernel/locking/lockdep.c:1901 [inline] check_prevs_add kernel/locking/lockdep.c:2018 [inline] validate_chain kernel/locking/lockdep.c:2460 [inline] __lock_acquire+0x2c89/0x45e0 kernel/locking/lockdep.c:3487 lock_acquire+0x16f/0x430 kernel/locking/lockdep.c:3991 __mutex_lock_common kernel/locking/mutex.c:756 [inline] __mutex_lock+0xe8/0x1470 kernel/locking/mutex.c:893 mutex_lock_nested+0x16/0x20 kernel/locking/mutex.c:908 blkdev_reread_part+0x1f/0x40 block/ioctl.c:192 nbd_bdev_reset drivers/block/nbd.c:1031 [inline] nbd_clear_sock_ioctl drivers/block/nbd.c:1211 [inline] __nbd_ioctl drivers/block/nbd.c:1227 [inline] nbd_ioctl+0x801/0xae0 drivers/block/nbd.c:1296 __blkdev_driver_ioctl block/ioctl.c:297 [inline] blkdev_ioctl+0x96b/0x1860 block/ioctl.c:594 block_ioctl+0xde/0x120 fs/block_dev.c:1881 vfs_ioctl fs/ioctl.c:46 [inline] file_ioctl fs/ioctl.c:500 [inline] do_vfs_ioctl+0x7ae/0x1060 fs/ioctl.c:684 SYSC_ioctl fs/ioctl.c:701 [inline] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:692 do_syscall_64+0x1e8/0x640 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 RIP: 0033:0x443df9 RSP: 002b:00007ffff4f7f288 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00000000004002e0 RCX: 0000000000443df9 RDX: 0000000000000000 RSI: 000000000000ab04 RDI: 0000000000000003