[....] Starting file context maintaining daemon: restorecond[?25l[?1c7[ ok 8[?25h[?0c. [....] Starting OpenBSD Secure Shell server: sshd[ 15.014434] random: sshd: uninitialized urandom read (32 bytes read, 31 bits of entropy available) [?25l[?1c7[ ok 8[?25h[?0c. Debian GNU/Linux 7 syzkaller ttyS0 syzkaller login: [ 19.039735] random: sshd: uninitialized urandom read (32 bytes read, 35 bits of entropy available) [ 19.327487] random: sshd: uninitialized urandom read (32 bytes read, 35 bits of entropy available) [ 20.104357] random: sshd: uninitialized urandom read (32 bytes read, 98 bits of entropy available) [ 20.261587] random: sshd: uninitialized urandom read (32 bytes read, 102 bits of entropy available) Warning: Permanently added 'ci-android-44-kasan-gce-386-2,10.128.0.34' (ECDSA) to the list of known hosts. [ 25.648427] random: sshd: uninitialized urandom read (32 bytes read, 107 bits of entropy available) executing program executing program [ 25.756329] [ 25.757977] ====================================================== [ 25.764257] [ INFO: possible circular locking dependency detected ] [ 25.770625] 4.4.106-g1700518 #1 Not tainted [ 25.774907] ------------------------------------------------------- [ 25.781274] syzkaller251103/3308 is trying to acquire lock: [ 25.786946] (&bdev->bd_mutex){+.+.+.}, at: [] blkdev_reread_part+0x1e/0x40 [ 25.796036] [ 25.796036] but task is already holding lock: [ 25.801976] (&lo->lo_ctl_mutex#2){+.+...}, at: [] lo_compat_ioctl+0x109/0x140 [ 25.811430] [ 25.811430] which lock already depends on the new lock. [ 25.811430] [ 25.819707] [ 25.819707] the existing dependency chain (in reverse order) is: [ 25.827292] -> #1 (&lo->lo_ctl_mutex#2){+.+...}: [ 25.832746] [] lock_acquire+0x15e/0x460 [ 25.838967] [] mutex_lock_nested+0xbb/0x850 [ 25.845537] [] lo_release+0x6b/0x140 [ 25.851497] [] __blkdev_put+0x5f7/0x7e0 [ 25.857720] [] blkdev_put+0x85/0x550 [ 25.863681] [] blkdev_close+0x8b/0xb0 [ 25.869726] [] __fput+0x233/0x6d0 [ 25.875426] [] ____fput+0x15/0x20 [ 25.881127] [] task_work_run+0x104/0x180 [ 25.887435] [] exit_to_usermode_loop+0x145/0x170 [ 25.894450] [] syscall_return_slowpath+0x1b5/0x1f0 [ 25.901626] [] int_ret_from_sys_call+0x25/0x9f [ 25.908456] -> #0 (&bdev->bd_mutex){+.+.+.}: [ 25.913448] [] __lock_acquire+0x371f/0x4b50 [ 25.920020] [] lock_acquire+0x15e/0x460 [ 25.926239] [] mutex_lock_nested+0xbb/0x850 [ 25.932806] [] blkdev_reread_part+0x1e/0x40 [ 25.939375] [] loop_reread_partitions+0x78/0xe0 [ 25.946290] [] loop_set_status+0x995/0xfc0 [ 25.952770] [] loop_set_status_compat+0x9a/0x100 [ 25.959771] [] lo_compat_ioctl+0x114/0x140 [ 25.966251] [] compat_blkdev_ioctl+0x3d4/0x3b10 [ 25.973169] [] compat_SyS_ioctl+0x28a/0x2540 [ 25.979826] [] do_fast_syscall_32+0x314/0x890 [ 25.986569] [] sysenter_flags_fixed+0xd/0x17 [ 25.993225] [ 25.993225] other info that might help us debug this: [ 25.993225] [ 26.001330] Possible unsafe locking scenario: [ 26.001330] [ 26.007349] CPU0 CPU1 [ 26.011978] ---- ---- [ 26.016610] lock(&lo->lo_ctl_mutex#2); [ 26.020989] lock(&bdev->bd_mutex); [ 26.027410] lock(&lo->lo_ctl_mutex#2); [ 26.034294] lock(&bdev->bd_mutex); [ 26.038194] [ 26.038194] *** DEADLOCK *** [ 26.038194] [ 26.044218] 1 lock held by syzkaller251103/3308: [ 26.048940] #0: (&lo->lo_ctl_mutex#2){+.+...}, at: [] lo_compat_ioctl+0x109/0x140 [ 26.058951] [ 26.058951] stack backtrace: [ 26.063414] CPU: 0 PID: 3308 Comm: syzkaller251103 Not tainted 4.4.106-g1700518 #1 [ 26.071092] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 26.080411] 0000000000000000 018ccfad6cb421c0 ffff8801d1f975e8 ffffffff81d02f7d [ 26.088365] ffffffff851726d0 ffffffff851726d0 ffffffff8519dab0 ffff8800b57b3818 [ 26.096321] ffff8800b57b2f80 ffff8801d1f97630 ffffffff8122fdc1 ffff8800b57b3818 [ 26.104276] Call Trace: [ 26.106831] [] dump_stack+0xc1/0x124 [ 26.112158] [] print_circular_bug+0x271/0x310 [ 26.118267] [] __lock_acquire+0x371f/0x4b50 [ 26.124201] [] ? debug_check_no_locks_freed+0x2c0/0x2c0 [ 26.131178] [] ? debug_check_no_locks_freed+0x2c0/0x2c0 [ 26.138168] [] ? __lock_acquire+0xb5f/0x4b50 [ 26.144191] [] ? __lock_is_held+0xa1/0xf0 [ 26.149953] [] lock_acquire+0x15e/0x460 [ 26.155540] [] ? blkdev_reread_part+0x1e/0x40 [ 26.161654] [] ? blkdev_reread_part+0x1e/0x40 [ 26.167765] [] mutex_lock_nested+0xbb/0x850 [ 26.173698] [] ? blkdev_reread_part+0x1e/0x40 [ 26.179807] [] ? __ww_mutex_lock+0x14f0/0x14f0 [ 26.186003] [] ? _raw_spin_unlock_irqrestore+0x5a/0x70 [ 26.192896] [] ? trace_hardirqs_on_caller+0x38b/0x590 [ 26.199701] [] blkdev_reread_part+0x1e/0x40 [ 26.205638] [] loop_reread_partitions+0x78/0xe0 [ 26.211919] [] loop_set_status+0x995/0xfc0 [ 26.217767] [] loop_set_status_compat+0x9a/0x100 [ 26.224145] [] ? loop_set_status+0xfc0/0xfc0 [ 26.230169] [] lo_compat_ioctl+0x114/0x140 [ 26.236016] [] ? lo_ioctl+0x19c0/0x19c0 [ 26.241611] [] compat_blkdev_ioctl+0x3d4/0x3b10 [ 26.247895] [] ? schedtune_enqueue_task+0x3b2/0x940 [ 26.254524] [] ? cfq_dispatch_requests+0x2fa0/0x2fa0 [ 26.261244] [] ? check_preemption_disabled+0x3b/0x200 [ 26.268058] [] ? security_file_ioctl+0x89/0xb0 [ 26.274260] [] compat_SyS_ioctl+0x28a/0x2540 [ 26.280287] [] ? do_huge_pmd_anonymous_page+0x3dd/0xa10 [ 26.287266] [] ? cfq_dispatch_requests+0x2fa0/0x2fa0 [ 26.293988] [] ? compat_SyS_ppoll+0x420/0x420 [ 26.300097] [] ? handle_mm_fault+0x3f2/0x3190 executing program [ 26.306207] [] ? putname+0xee/0x130 [ 26.311449] [] ? rcu_read_lock_sched_held+0x103/0x120 [ 26.318255] [] ? kmem_cache_free+0x28f/0x310 [ 26.324278] [] ? __do_page_fault+0x380/0xa00 [ 26.330304] [] ? do_fast_syscall_32+0xd7/0x890 [ 26.336499] [] ? compat_SyS_ppoll+0x420/0x420 [ 26.342606] [] do_fast_syscall_32+0x314/0x890 [ 26.348719] [] sysenter_flags_fixed+0xd/0x17 executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program