On Fri, 21 Aug 2020 04:26:12 +0800 kernel test robot <lkp@xxxxxxxxx> wrote: > tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > branch HEAD: 605cbf3d5f20470ec303b79feda3202935f4a142 Add linux-next specific files for 20200820 > > Error/Warning in current branch: > ... > > > fs/proc/task_mmu.c:947 show_smaps_rollup() error: double unlocked 'mm->mmap_lock' (orig line 879) This is code added by "mm: proc: smaps_rollup: do not stall write attempts on mmap_lock" (http://lkml.kernel.org/r/1597715898-3854-4-git-send-email-chinwen.chang@xxxxxxxxxxxx). I don't get it. : if (mmap_lock_is_contended(mm)) { : mmap_read_unlock(mm); : ret = mmap_read_lock_killable(mm); : if (ret) { : release_task_mempolicy(priv); : goto out_put_mm; : } Here the mmap_lock is again taken for read : ... : : } : /* Case 2 above */ : vma = vma->vm_next; : } : : ... : : mmap_read_unlock(mm); and here it's unlocked. I don't see a possibility for double-unlock?