flags &= MAP_NONBLOCK;
        flags |= MAP_SHARED | MAP_FIXED | MAP_POPULATE;
-       if (vma->vm_flags & VM_LOCKED) {
-               struct vm_area_struct *tmp;
+       if (vma->vm_flags & VM_LOCKED)
                flags |= MAP_LOCKED;
 
-               /* drop PG_Mlocked flag for over-mapped range */
-               for (tmp = vma; tmp->vm_start >= start + size;
-                               tmp = tmp->vm_next) {
-                       /*
-                        * Split pmd and munlock page on the border
-                        * of the range.
-                        */
-                       vma_adjust_trans_huge(tmp, start, start + size, 0);
-
-                       munlock_vma_pages_range(tmp,
-                                       max(tmp->vm_start, start),
-                                       min(tmp->vm_end, start + size));
-               }
-       }
-
        file = get_file(vma->vm_file);
        ret = do_mmap(vma->vm_file, start, size,
                        prot, flags, pgoff, &populate, NULL);