FYI, we noticed the below changes on https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git mmap-clear-setid commit b953933104b23dc80a166b3c2bdc9c8fe077c8a3 ("fs: clear file privilege bits when mmap writing") +----------------------------------------------------+------------+------------+ | | 25364a9e54 | b953933104 | +----------------------------------------------------+------------+------------+ | boot_successes | 30 | 2 | | boot_failures | 4 | 14 | | BUG:kernel_early-boot_hang | 2 | 2 | | BUG:kernel_boot_hang | 2 | | | INFO:possible_circular_locking_dependency_detected | 0 | 12 | | backtrace:iterate_dir | 0 | 12 | | backtrace:SyS_getdents | 0 | 12 | | backtrace:vm_mmap_pgoff | 0 | 12 | | backtrace:SyS_mmap_pgoff | 0 | 12 | | backtrace:SyS_mmap | 0 | 12 | +----------------------------------------------------+------------+------------+ [ 75.509649] ====================================================== [ 75.511059] [ INFO: possible circular locking dependency detected ] [ 75.512313] 4.4.0-rc3-00025-gb953933 #141 Not tainted [ 75.513316] ------------------------------------------------------- [ 75.531487] systemd-journal/308 is trying to acquire lock: [ 75.532574] (&sb->s_type->i_mutex_key#10){+.+.+.}, at: [] do_mmap+0x213/0x362 [ 75.543301] [ 75.543301] but task is already holding lock: [ 75.544595] (&mm->mmap_sem){++++++}, at: [] vm_mmap_pgoff+0x5d/0xb3 [ 75.558997] [ 75.558997] which lock already depends on the new lock. [ 75.558997] [ 75.560864] [ 75.560864] the existing dependency chain (in reverse order) is: [ 75.562354] -> #1 (&mm->mmap_sem){++++++}: [ 75.572016] [] lock_acquire+0x10a/0x196 [ 75.573530] [] __might_fault+0x6a/0x8d [ 75.583071] [] filldir+0x9d/0x10b [ 75.584465] [] dir_emit_dots+0x40/0xc4 [ 75.585878] [] dcache_readdir+0x26/0x14f [ 75.595370] [] iterate_dir+0x90/0x11d [ 75.596745] [] SyS_getdents+0x97/0xff [ 75.598029] [] entry_SYSCALL_64_fastpath+0x12/0x76 [ 75.607616] -> #0 (&sb->s_type->i_mutex_key#10){+.+.+.}: [ 75.609567] [] __lock_acquire+0xb1e/0xdee [ 75.619128] [] lock_acquire+0x10a/0x196 [ 75.623536] [] mutex_lock_nested+0x79/0x3ab [ 75.624818] [] do_mmap+0x213/0x362 [ 75.626059] [] vm_mmap_pgoff+0x7e/0xb3 [ 75.631415] [] SyS_mmap_pgoff+0x192/0x1c0 [ 75.632676] [] SyS_mmap+0x1b/0x25 [ 75.633860] [] entry_SYSCALL_64_fastpath+0x12/0x76 [ 75.639318] [ 75.639318] other info that might help us debug this: [ 75.639318] [ 75.641060] Possible unsafe locking scenario: [ 75.641060] [ 75.642301] CPU0 CPU1 [ 75.647399] ---- ---- [ 75.648578] lock(&mm->mmap_sem); [ 75.649774] lock(&sb->s_type->i_mutex_key#10); [ 75.655655] lock(&mm->mmap_sem); [ 75.657042] lock(&sb->s_type->i_mutex_key#10); [ 75.658431] [ 75.658431] *** DEADLOCK *** [ 75.658431] [ 75.664182] 1 lock held by systemd-journal/308: [ 75.665237] #0: (&mm->mmap_sem){++++++}, at: [] vm_mmap_pgoff+0x5d/0xb3 [ 75.671508] [ 75.671508] stack backtrace: [ 75.672561] CPU: 0 PID: 308 Comm: systemd-journal Not tainted 4.4.0-rc3-00025-gb953933 #141 [ 75.674286] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Debian-1.8.2-1 04/01/2014 [ 75.680315] 0000000000000000 ffff880028117c30 ffffffff8173d3a8 ffffffff850dd010 [ 75.682200] ffff880028117c70 ffffffff81113f3a ffff880028110ac0 ffff880028111308 [ 75.688211] ffff8800281112d0 0000000000000001 0000000000000001 ffff880028110ac0 [ 75.690224] Call Trace: [ 75.694936] [] dump_stack+0x4b/0x63 [ 75.696122] [] print_circular_bug+0x1d2/0x1e0 [ 75.697429] [] __lock_acquire+0xb1e/0xdee [ 75.698705] [] lock_acquire+0x10a/0x196 [ 75.703926] [] ? lock_acquire+0x10a/0x196 [ 75.705186] [] ? do_mmap+0x213/0x362 [ 75.706359] [] ? do_mmap+0x213/0x362 [ 75.711511] [] mutex_lock_nested+0x79/0x3ab [ 75.712615] [] ? do_mmap+0x213/0x362 [ 75.713654] [] do_mmap+0x213/0x362 [ 75.714794] [] ? do_mmap+0x213/0x362 [ 75.720036] [] vm_mmap_pgoff+0x7e/0xb3 [ 75.721236] [] SyS_mmap_pgoff+0x192/0x1c0 [ 75.722478] [] SyS_mmap+0x1b/0x25 [ 75.727533] [] entry_SYSCALL_64_fastpath+0x12/0x76 Thanks, lkp