_install_special_mapping() adds the VM_SPECIAL bit VM_DONTEXPAND (and never attempts to update locked_vm), so it ought to be consistent with mmap_region() and mlock_fixup(), making sure not to add VM_LOCKED or VM_LOCKONFAULT. I doubt that this fixes any problem in practice: just do it for consistency. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> --- Noticed in doing mm/munlock series, but not needed as a part of that. mm/mmap.c | 1 + 1 file changed, 1 insertion(+) --- a/mm/mmap.c +++ b/mm/mmap.c @@ -3420,6 +3420,7 @@ static struct vm_area_struct *__install_special_mapping( vma->vm_end = addr + len; vma->vm_flags = vm_flags | mm->def_flags | VM_DONTEXPAND | VM_SOFTDIRTY; + vma->vm_flags &= VM_LOCKED_CLEAR_MASK; vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); vma->vm_ops = ops;